Arena run #887

meanrev-v1mistralaimistralai/mistral-large-2512USsuccess
Arena
Run status
as_of: 2026-03-27T18:04:13.865611+00:00
started_at: 2026-03-27T19:04:01.073711+00:00
finished_at: 2026-03-27T19:04:25.431549+00:00
duration_ms: 24352
Inputs
{
  "as_of": "2026-03-27T18:04:13.865611+00:00",
  "dry_run": false,
  "selected": [
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "Extreme 1-day drop (-36.8%), far below MA50 (-31.7%) and MA200 (-40.6%), high volatility (193.2%), no earnings date known.",
      "mean_reversion_score": 90
    },
    {
      "symbol": "CBG_CFD.UK",
      "selection_reason": "Large 1-day drop (-26.6%), below MA50 (-22.1%) and MA200 (-13.4%), high volatility (169.1%), no earnings date known.",
      "mean_reversion_score": 85
    },
    {
      "symbol": "UTG_CFD.UK",
      "selection_reason": "Significant 1-day drop (-8.3%), below MA50 (-13.5%) and MA200 (-32.1%), high volatility (98.9%), no earnings date known.",
      "mean_reversion_score": 80
    },
    {
      "symbol": "MCG_CFD.UK",
      "selection_reason": "1-day drop (-4.3%), below MA200 (-13.6%), near MA50 (+0.9%), high volatility (236.1%), no earnings date known.",
      "mean_reversion_score": 75
    },
    {
      "symbol": "RHIM_CFD.UK",
      "selection_reason": "1-day drop (-6.8%), near MA200 (-2.4%), above MA50 (+0.9%), high volatility (151.3%), no earnings date known.",
      "mean_reversion_score": 70
    }
  ],
  "simulate_only": false,
  "strict_replay": false,
  "universe_symbols": [
    "CRST_CFD.UK",
    "MSLH_CFD.UK",
    "MCG_CFD.UK",
    "BOY_CFD.UK",
    "LMP_CFD.UK",
    "PAGE_CFD.UK",
    "ESNT_CFD.UK",
    "JDW_CFD.UK",
    "PAG_CFD.UK",
    "INVP_CFD.UK",
    "RHIM_CFD.UK",
    "UTG_CFD.UK",
    "CBG_CFD.UK",
    "DLN_CFD.UK",
    "ABDN_CFD.UK",
    "BBY_CFD.UK",
    "CPG_CFD.UK",
    "BYIT_CFD.UK",
    "ATG_CFD.UK"
  ]
}
Outputs
{
  "actions": {
    "buy": [
      {
        "reason": "Top candidate with extreme 1-day drop (-36.8%) and high mean-reversion score (90).",
        "symbol": "PAGE_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "Strong mean-reversion candidate (score 75) with 1-day drop (-4.3%) and high volatility (236.1%).",
        "symbol": "MCG_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Positive unrealized PnL (258.85), no strong mean-reversion signal to exit.",
        "symbol": "BTRW_CFD.UK"
      },
      {
        "reason": "Already held, no significant deviation from entry price (marginal PnL).",
        "symbol": "CBG_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "CRST_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (106.43), no strong mean-reversion signal to exit.",
        "symbol": "EXPD_CFD.US"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "ESNT_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "HIK_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "ICG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (101.19), no strong mean-reversion signal to exit.",
        "symbol": "INF_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "IWG_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "JDW_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (115.70), no strong mean-reversion signal to exit.",
        "symbol": "JMAT_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "KGF_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "MSLH_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "PAG_CFD.UK"
      },
      {
        "reason": "Already held, no significant deviation from entry price.",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "STJ_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "TPK_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (207.90), no strong mean-reversion signal to exit.",
        "symbol": "UKW_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Negative unrealized PnL (-240.99) with no clear mean-reversion signal, prefer to reallocate capital to stronger candidates.",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "Negative unrealized PnL (-260.20) and already selected as a candidate for potential re-entry, suggesting weak momentum.",
        "symbol": "UTG_CFD.UK"
      }
    ]
  },
  "portfolio_rationale": "Exiting underperforming positions (FUTR_CFD.UK, UTG_CFD.UK) to reallocate capital to top mean-reversion candidates (PAGE_CFD.UK, MCG_CFD.UK). Holding existing positions with no clear mean-reversion signals or positive PnL. Adhering to max 2 buys/sells per run and avoiding overtrading."
}
Prompts & responses
#1735openroutermistralai/mistral-large-25122026-03-27T19:04:01.105329+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": "MCG_CFD.UK", "name": "MOBICO GROUP PLC", "sector": "", "last_price": 23.88, "change_1d_pct": -4.250200481154776, "distance_from_ma200_pct": -13.633157923289751, "distance_from_ma50_pct": 0.9358119246278163, "volatility_20d_pct": 236.12122528317374, "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": "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": "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": "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": "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": "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": "ABDN_CFD.UK", "name": "Aberdeen Group Plc", "sector": "", "last_price": 206.2, "change_1d_pct": 0.4873294346978474, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -3.567353199768042, "volatility_20d_pct": 5122.525857900045, "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": 722.5, "change_1d_pct": -1.0951403148528382, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -1.628407265201648, "volatility_20d_pct": 2239.4661443465884, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CPG_CFD.UK", "name": "COMPASS GROUP PLC", "sector": "", "last_price": 2287.0, "change_1d_pct": -0.823937554206422, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 2.8011537977172374, "volatility_20d_pct": 2808.1897930853006, "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": 316.4, "change_1d_pct": 1.9329896907216426, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -3.036395062333752, "volatility_20d_pct": 3610.9502328075146, "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"}], "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": "PAGE_CFD.UK",
      "selection_reason": "Extreme 1-day drop (-36.8%), far below MA50 (-31.7%) and MA200 (-40.6%), high volatility (193.2%), no earnings date known.",
      "mean_reversion_score": 90
    },
    {
      "symbol": "CBG_CFD.UK",
      "selection_reason": "Large 1-day drop (-26.6%), below MA50 (-22.1%) and MA200 (-13.4%), high volatility (169.1%), no earnings date known.",
      "mean_reversion_score": 85
    },
    {
      "symbol": "UTG_CFD.UK",
      "selection_reason": "Significant 1-day drop (-8.3%), below MA50 (-13.5%) and MA200 (-32.1%), high volatility (98.9%), no earnings date known.",
      "mean_reversion_score": 80
    },
    {
      "symbol": "MCG_CFD.UK",
      "selection_reason": "1-day drop (-4.3%), below MA200 (-13.6%), near MA50 (+0.9%), high volatility (236.1%), no earnings date known.",
      "mean_reversion_score": 75
    },
    {
      "symbol": "RHIM_CFD.UK",
      "selection_reason": "1-day drop (-6.8%), near MA200 (-2.4%), above MA50 (+0.9%), high volatility (151.3%), no earnings date known.",
      "mean_reversion_score": 70
    }
  ],
  "rejected_common_reasons": [
    "No MA200 data available (e.g., ABDN_CFD.UK, BBY_CFD.UK)",
    "Insufficient deviation from moving averages (e.g., ESNT_CFD.UK, PAG_CFD.UK)",
    "No confirmed earnings date, but potential event risk not ruled out (all candidates)"
  ]
}
#1736openroutermistralai/mistral-large-25122026-03-27T19:04:10.198386+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": "AAL_CFD.UK", "qty": 0.0, "avg_price": 2913.0, "last_price": 2900.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T10:09:24.325041+00:00"}, {"symbol": "ACM_CFD.US", "qty": 0.0, "avg_price": 88.42, "last_price": 97.88, "unrealized_pnl": 0.0, "opened_at": "2026-02-15T10:57:15.913854+00:00"}, {"symbol": "ADS_CFD.DE", "qty": 0.0, "avg_price": 137.15, "last_price": 138.55, "unrealized_pnl": 0.0, "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": "AMCX_CFD.US", "qty": 0.0, "avg_price": 7.5, "last_price": 7.365, "unrealized_pnl": -53.999999999999915, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "AMH_CFD.US", "qty": 0.0, "avg_price": 29.595, "last_price": 29.485, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "ATG_CFD.UK", "qty": 0.0, "avg_price": 296.0, "last_price": 296.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T18:49:26.891792+00:00"}, {"symbol": "ATO_CFD.FR", "qty": 0.0, "avg_price": 35.106, "last_price": 38.024, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "AUTO_CFD.UK", "qty": 0.0, "avg_price": 482.8, "last_price": 482.8, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T18:04:14.272849+00:00"}, {"symbol": "BIG_CFD.FR", "qty": 0.0, "avg_price": 0.453, "last_price": 0.453, "unrealized_pnl": 0.0, "opened_at": "2026-02-28T10:51:05.818250+00:00"}, {"symbol": "BLND_CFD.UK", "qty": 0.0, "avg_price": 364.2, "last_price": 364.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T18:18:45.954380+00:00"}, {"symbol": "BRBY_CFD.UK", "qty": 0.0, "avg_price": 1070.84, "last_price": 1070.84, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T10:19:46.508085+00:00"}, {"symbol": "BTRW_CFD.UK", "qty": 11.961722488038276, "avg_price": 250.8, "last_price": 272.44, "unrealized_pnl": 258.8516746411481, "opened_at": "2026-03-23T18:04:09.108429+00:00"}, {"symbol": "BYIT_CFD.UK", "qty": 0.0, "avg_price": 292.6, "last_price": 292.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-15T10:57:15.913854+00:00"}, {"symbol": "CBG_CFD.UK", "qty": 61.23877289163654, "avg_price": 342.91999999999996, "last_price": 342.92, "unrealized_pnl": 3.4810212180011913e-12, "opened_at": "2026-03-04T10:26:53.527562+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-18T17:58:33.497657+00:00"}, {"symbol": "CRWD_CFD.US", "qty": 0.0, "avg_price": 350.24, "last_price": 350.055, "unrealized_pnl": -1.5846276838739344, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "DLTR_CFD.US", "qty": 0.0, "avg_price": 112.12, "last_price": 107.655, "unrealized_pnl": 0.0, "opened_at": "2026-03-17T18:12:35.221859+00:00"}, {"symbol": "DOM_CFD.UK", "qty": 0.0, "avg_price": 199.3, "last_price": 189.21, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+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": "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": 54.045, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}, {"symbol": "EVT_CFD.DE", "qty": 0.0, "avg_price": 4.502, "last_price": 4.353, "unrealized_pnl": 0.0, "opened_at": "2026-03-11T10:11:17.665074+00:00"}, {"symbol": "EXM_CFD.BE", "qty": 0.0, "avg_price": 10.0, "last_price": 9.933, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "EXPD_CFD.US", "qty": 22.01269398686576, "avg_price": 136.285, "last_price": 141.12, "unrealized_pnl": 106.43137542649612, "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-20T17:33:34.647633+00:00"}, {"symbol": "FRVIA_CFD.FR", "qty": 0.0, "avg_price": 12.709, "last_price": 12.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "FUTR_CFD.UK", "qty": 7.488766849725412, "avg_price": 400.6, "last_price": 368.42, "unrealized_pnl": -240.98851722416381, "opened_at": "2026-02-18T09:36:37.284518+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": "GRI_CFD.UK", "qty": 0.0, "avg_price": 189.6, "last_price": 189.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "HIK_CFD.UK", "qty": 4.854368932038835, "avg_price": 1236.0, "last_price": 1236.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "ICG_CFD.UK", "qty": 1.772002362669817, "avg_price": 1693.0, "last_price": 1693.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "INF_CFD.UK", "qty": 4.0474905558553695, "avg_price": 741.2, "last_price": 766.2, "unrealized_pnl": 101.18726389638424, "opened_at": "2026-03-21T10:00:02.317290+00:00"}, {"symbol": "ITRK_CFD.UK", "qty": 0.0, "avg_price": 3942.0, "last_price": 3760.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T10:07:39.444598+00:00"}, {"symbol": "IWG_CFD.UK", "qty": 17.421602787456447, "avg_price": 172.2, "last_price": 172.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T18:18:58.833148+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": "JEF_CFD.US", "qty": 0.0, "avg_price": 47.46, "last_price": 44.27, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T18:07:22.382508+00:00"}, {"symbol": "JMAT_CFD.UK", "qty": 1.6528925619834711, "avg_price": 1815.0, "last_price": 1885.0, "unrealized_pnl": 115.70247933884298, "opened_at": "2026-03-03T10:20:03.276878+00:00"}, {"symbol": "KGF_CFD.UK", "qty": 10.384215991692628, "avg_price": 288.9, "last_price": 288.9, "unrealized_pnl": 0.0, "opened_at": "2026-03-27T09:59:46.331143+00:00"}, {"symbol": "LIO_CFD.UK", "qty": 0.0, "avg_price": 250.0, "last_price": 257.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "MSLH_CFD.UK", "qty": 21.30681818181818, "avg_price": 140.8, "last_price": 140.8, "unrealized_pnl": 0.0, "opened_at": "2026-03-21T17:59:11.913241+00:00"}, {"symbol": "NA9_CFD.DE", "qty": 0.0, "avg_price": 48.578, "last_price": 53.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "OCDO_CFD.UK", "qty": 44.052863436123346, "avg_price": 204.3, "last_price": 204.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "OKTA_CFD.US", "qty": 0.0, "avg_price": 70.18, "last_price": 79.26, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "PAGE_CFD.UK", "qty": 45.14672686230248, "avg_price": 132.9, "last_price": 132.9, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T10:33:43.857578+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-22T18:18:31.438015+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-21T10:00:02.317290+00:00"}, {"symbol": "RMV_CFD.UK", "qty": 0.0, "avg_price": 424.3, "last_price": 424.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "SOI_CFD.FR", "qty": 0.0, "avg_price": 57.5, "last_price": 54.96, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T10:09:24.325041+00:00"}, {"symbol": "STJ_CFD.UK", "qty": 2.459016393442623, "avg_price": 1220.0, "last_price": 1220.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T10:35:48.762746+00:00"}, {"symbol": "SYNT_CFD.UK", "qty": 0.0, "avg_price": 18.4, "last_price": 18.34, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T18:49:26.891792+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-22T18:18:31.438015+00:00"}, {"symbol": "TRN_CFD.UK", "qty": 0.0, "avg_price": 184.50000000000003, "last_price": 211.4, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "TRST_CFD.UK", "qty": 0.0, "avg_price": 151.8, "last_price": 224.82, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "TUI1_CFD.DE", "qty": 0.0, "avg_price": 7.398000000000001, "last_price": 6.95, "unrealized_pnl": -181.67072181670738, "opened_at": "2026-03-02T10:31:26.559356+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 32.48511099079589, "avg_price": 92.35, "last_price": 98.75, "unrealized_pnl": 207.90471034109387, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "ULTA_CFD.US", "qty": 0.0, "avg_price": 535.2, "last_price": 523.22, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "UTG_CFD.UK", "qty": 5.9405940594059405, "avg_price": 505.0, "last_price": 461.2, "unrealized_pnl": -260.19801980198025, "opened_at": "2026-03-26T17:55:26.602359+00:00"}, {"symbol": "VSVS_CFD.UK", "qty": 0.0, "avg_price": 425.0, "last_price": 421.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T18:18:58.833148+00:00"}, {"symbol": "VTY_CFD.UK", "qty": 0.0, "avg_price": 385.0, "last_price": 385.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-11T10:11:17.665074+00:00"}, {"symbol": "WEIR_CFD.UK", "qty": 0.0, "avg_price": 2890.0, "last_price": 2842.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-14T10:03:26.036362+00:00"}, {"symbol": "WIX_CFD.UK", "qty": 0.0, "avg_price": 224.5, "last_price": 222.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T10:19:46.508085+00:00"}, {"symbol": "WIZZ_CFD.UK", "qty": 0.0, "avg_price": 1087.0, "last_price": 1064.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T10:20:03.276878+00:00"}, {"symbol": "WKP_CFD.UK", "qty": 0.0, "avg_price": 412.5, "last_price": 412.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T09:32:59.506254+00:00"}, {"symbol": "WPP_CFD.UK", "qty": 0.0, "avg_price": 263.4, "last_price": 257.0, "unrealized_pnl": -72.89293849658289, "opened_at": "2026-02-18T09:36:37.284518+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": "PAGE_CFD.UK", "mean_reversion_score": 90, "selection_reason": "Extreme 1-day drop (-36.8%), far below MA50 (-31.7%) and MA200 (-40.6%), high volatility (193.2%), no earnings date known."}, {"symbol": "CBG_CFD.UK", "mean_reversion_score": 85, "selection_reason": "Large 1-day drop (-26.6%), below MA50 (-22.1%) and MA200 (-13.4%), high volatility (169.1%), no earnings date known."}, {"symbol": "UTG_CFD.UK", "mean_reversion_score": 80, "selection_reason": "Significant 1-day drop (-8.3%), below MA50 (-13.5%) and MA200 (-32.1%), high volatility (98.9%), no earnings date known."}, {"symbol": "MCG_CFD.UK", "mean_reversion_score": 75, "selection_reason": "1-day drop (-4.3%), below MA200 (-13.6%), near MA50 (+0.9%), high volatility (236.1%), no earnings date known."}, {"symbol": "RHIM_CFD.UK", "mean_reversion_score": 70, "selection_reason": "1-day drop (-6.8%), near MA200 (-2.4%), above MA50 (+0.9%), high volatility (151.3%), no earnings date known."}], "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 extreme 1-day drop (-36.8%) and high mean-reversion score (90).",
        "symbol": "PAGE_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "Strong mean-reversion candidate (score 75) with 1-day drop (-4.3%) and high volatility (236.1%).",
        "symbol": "MCG_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Positive unrealized PnL (258.85), no strong mean-reversion signal to exit.",
        "symbol": "BTRW_CFD.UK"
      },
      {
        "reason": "Already held, no significant deviation from entry price (marginal PnL).",
        "symbol": "CBG_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "CRST_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (106.43), no strong mean-reversion signal to exit.",
        "symbol": "EXPD_CFD.US"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "ESNT_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "HIK_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "ICG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (101.19), no strong mean-reversion signal to exit.",
        "symbol": "INF_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "IWG_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "JDW_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (115.70), no strong mean-reversion signal to exit.",
        "symbol": "JMAT_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "KGF_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "MSLH_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "PAG_CFD.UK"
      },
      {
        "reason": "Already held, no significant deviation from entry price.",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "STJ_CFD.UK"
      },
      {
        "reason": "No significant price movement, no mean-reversion signal to exit.",
        "symbol": "TPK_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (207.90), no strong mean-reversion signal to exit.",
        "symbol": "UKW_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Negative unrealized PnL (-240.99) with no clear mean-reversion signal, prefer to reallocate capital to stronger candidates.",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "Negative unrealized PnL (-260.20) and already selected as a candidate for potential re-entry, suggesting weak momentum.",
        "symbol": "UTG_CFD.UK"
      }
    ]
  },
  "portfolio_rationale": "Exiting underperforming positions (FUTR_CFD.UK, UTG_CFD.UK) to reallocate capital to top mean-reversion candidates (PAGE_CFD.UK, MCG_CFD.UK). Holding existing positions with no clear mean-reversion signals or positive PnL. Adhering to max 2 buys/sells per run and avoiding overtrading."
}
Selection logs
#853stage12026-03-27T19:04:10.189970+00:00
{
  "selected_stocks": [
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "Extreme 1-day drop (-36.8%), far below MA50 (-31.7%) and MA200 (-40.6%), high volatility (193.2%), no earnings date known.",
      "mean_reversion_score": 90
    },
    {
      "symbol": "CBG_CFD.UK",
      "selection_reason": "Large 1-day drop (-26.6%), below MA50 (-22.1%) and MA200 (-13.4%), high volatility (169.1%), no earnings date known.",
      "mean_reversion_score": 85
    },
    {
      "symbol": "UTG_CFD.UK",
      "selection_reason": "Significant 1-day drop (-8.3%), below MA50 (-13.5%) and MA200 (-32.1%), high volatility (98.9%), no earnings date known.",
      "mean_reversion_score": 80
    },
    {
      "symbol": "MCG_CFD.UK",
      "selection_reason": "1-day drop (-4.3%), below MA200 (-13.6%), near MA50 (+0.9%), high volatility (236.1%), no earnings date known.",
      "mean_reversion_score": 75
    },
    {
      "symbol": "RHIM_CFD.UK",
      "selection_reason": "1-day drop (-6.8%), near MA200 (-2.4%), above MA50 (+0.9%), high volatility (151.3%), no earnings date known.",
      "mean_reversion_score": 70
    }
  ],
  "rejected_common_reasons": [
    "No MA200 data available (e.g., ABDN_CFD.UK, BBY_CFD.UK)",
    "Insufficient deviation from moving averages (e.g., ESNT_CFD.UK, PAG_CFD.UK)",
    "No confirmed earnings date, but potential event risk not ruled out (all candidates)"
  ]
}