Arena run #873

meanrev-v1deepseekdeepseek/deepseek-chatUSsuccess
Arena
Run status
as_of: 2026-03-26T17:55:26.602359+00:00
started_at: 2026-03-26T18:29:36.334139+00:00
finished_at: 2026-03-26T18:30:44.756827+00:00
duration_ms: 68421
Inputs
{
  "as_of": "2026-03-26T17:55:26.602359+00:00",
  "dry_run": false,
  "selected": [
    {
      "symbol": "MSLH_CFD.UK",
      "selection_reason": "Significant distance from MA200 (-18.42%), indicating potential mean reversion opportunity.",
      "mean_reversion_score": 75
    },
    {
      "symbol": "MCG_CFD.UK",
      "selection_reason": "Close to MA50 (0.94%) with recent price drop (-4.25%), suggesting potential rebound.",
      "mean_reversion_score": 70
    },
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "Large distance from MA200 (-40.61%) and MA50 (-31.73%), indicating strong mean reversion potential.",
      "mean_reversion_score": 80
    },
    {
      "symbol": "UTG_CFD.UK",
      "selection_reason": "Moderate distance from MA200 (-23.93%) and MA50 (-3.69%), suggesting mean reversion possibility.",
      "mean_reversion_score": 65
    },
    {
      "symbol": "PAG_CFD.UK",
      "selection_reason": "Close to MA50 (0.70%) with recent price drop (-3.40%), indicating potential mean reversion.",
      "mean_reversion_score": 60
    }
  ],
  "simulate_only": false,
  "strict_replay": false,
  "universe_symbols": [
    "MSLH_CFD.UK",
    "MCG_CFD.UK",
    "LMP_CFD.UK",
    "SPX_CFD.UK",
    "PAGE_CFD.UK",
    "UTG_CFD.UK",
    "PAG_CFD.UK",
    "SAFE_CFD.UK",
    "RHIM_CFD.UK",
    "ABDN_CFD.UK",
    "BBY_CFD.UK",
    "MOS_CFD.US",
    "META_CFD.US",
    "VST_CFD.US",
    "ATG_CFD.UK",
    "NCLH_CFD.US",
    "UAL_CFD.US",
    "PWR_CFD.US",
    "LULU_CFD.US",
    "ANTO_CFD.UK"
  ]
}
Outputs
{
  "actions": {
    "buy": [],
    "hold": [
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "ABF_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "ADJ_CFD.DE"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "ADS_CFD.DE"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "AIR_CFD.DE"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "AMH_CFD.US"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "AML_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "ATG_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "BBY_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "BIG_CFD.FR"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "BLND_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "BTRW_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "BT_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "BYW6_CFD.DE"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "CBG_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "CCC_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "CCL_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "CO_CFD.FR"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "CRDA_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "CRST_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "CRWD_CFD.US"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "EMG_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "ERA_CFD.FR"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "ESNT_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "EZJ_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "FLO_CFD.US"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "FRVIA_CFD.FR"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "GRI_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "HAIN_CFD.US"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "HIK_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "HMSO_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "IEP_CFD.BE"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "IHG_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "JDW_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "KGF_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "LMP_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "LXS_CFD.DE"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "MCG_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "MSLH_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "OSB_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "PSN_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "RHIM_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "RMV_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "ROR_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "SAFE_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "SYNT_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "TRN_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "UKW_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "UTG_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "VTY_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "WIX_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "WIZZ_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "WKP_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "WPP_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "WTB_CFD.UK"
      }
    ],
    "sell": []
  },
  "portfolio_rationale": "Given the current portfolio and the candidates, there are no clear improvements or significant mean-reversion opportunities that justify making changes. Therefore, the decision is to hold all positions to avoid overtrading and adhere to the strategy rules."
}
Prompts & responses
#1709openrouterdeepseek/deepseek-chat2026-03-26T18:29:36.357854+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": "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": "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": "UTG_CFD.UK", "name": "UNITE GROUP PLC/THE", "sector": "", "last_price": 567.5, "change_1d_pct": 3.4639927073837784, "distance_from_ma200_pct": -23.929923575376698, "distance_from_ma50_pct": -3.6875042216270137, "volatility_20d_pct": 73.84223442053181, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "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": "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": "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": "MOS_CFD.US", "name": "The Mosaic Company", "sector": "", "last_price": 31.14, "change_1d_pct": 3.3864541832669293, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 19.517814672936073, "volatility_20d_pct": 4137.377654101071, "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": "META_CFD.US", "name": "Meta Platforms Inc.", "sector": "", "last_price": 661.46, "change_1d_pct": -1.3055609435848492, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 0.8260357664471085, "volatility_20d_pct": 5118.765206217737, "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": "VST_CFD.US", "name": "Vistra Energy Corp", "sector": "", "last_price": 158.65, "change_1d_pct": -5.2270011947431305, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -2.878446544884661, "volatility_20d_pct": 4530.365230302939, "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": "NCLH_CFD.US", "name": "Norwegian Cruise Line Holdings Ltd", "sector": "", "last_price": 20.05, "change_1d_pct": -4.158699808795419, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -11.738552424218407, "volatility_20d_pct": 8004.424827870784, "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": "UAL_CFD.US", "name": "United Airlines Holdings Inc", "sector": "", "last_price": 95.43, "change_1d_pct": -5.025875796178337, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -13.940812778206624, "volatility_20d_pct": 6839.293685003367, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "PWR_CFD.US", "name": "Quanta Services Inc", "sector": "", "last_price": 563.08, "change_1d_pct": -0.3486417131227215, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 18.496058009769833, "volatility_20d_pct": 4344.4361931144, "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": "LULU_CFD.US", "name": "Lululemon Athletica Inc.", "sector": "", "last_price": 172.85, "change_1d_pct": 1.6226703509906404, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -11.544956757586611, "volatility_20d_pct": 4890.955908499361, "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": "ANTO_CFD.UK", "name": "ANTOFAGASTA PLC", "sector": "", "last_price": 3857.0, "change_1d_pct": -4.647713226205196, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 4.435178165276721, "volatility_20d_pct": 7339.925632858924, "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 distance from MA200 (-18.42%), indicating potential mean reversion opportunity.",
      "mean_reversion_score": 75
    },
    {
      "symbol": "MCG_CFD.UK",
      "selection_reason": "Close to MA50 (0.94%) with recent price drop (-4.25%), suggesting potential rebound.",
      "mean_reversion_score": 70
    },
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "Large distance from MA200 (-40.61%) and MA50 (-31.73%), indicating strong mean reversion potential.",
      "mean_reversion_score": 80
    },
    {
      "symbol": "UTG_CFD.UK",
      "selection_reason": "Moderate distance from MA200 (-23.93%) and MA50 (-3.69%), suggesting mean reversion possibility.",
      "mean_reversion_score": 65
    },
    {
      "symbol": "PAG_CFD.UK",
      "selection_reason": "Close to MA50 (0.70%) with recent price drop (-3.40%), indicating potential mean reversion.",
      "mean_reversion_score": 60
    }
  ],
  "rejected_common_reasons": [
    "High volatility",
    "Unknown sector",
    "Unknown earnings date",
    "Lack of sufficient technical indicators"
  ]
}
#1710openrouterdeepseek/deepseek-chat2026-03-26T18:29:56.688659+00:00
System prompt
You are an Arena portfolio manager. You must follow the strategy rules strictly and output ONLY valid JSON. You are NOT allowed to invent prices/fundamentals/news/earnings. If a field is null/empty, treat it as unknown. Avoid overtrading: if changes are marginal, prefer HOLD. Do not churn.
User prompt
{"task": "stage2_portfolio_management", "region": "US", "strategy": {"key": "meanrev-v1", "name": "Two-Stage LLM Mean-Reversion (Arena v1)", "rules": {"max_positions": 10, "max_buys_per_run": 2, "avoid_overtrading": true, "max_sells_per_run": 2, "max_gross_leverage": 3.0, "fixed_position_size": 3000.0, "universe_symbols_eu": [], "universe_symbols_us": []}}, "portfolio_constraints": {"initial_equity": 10000.0, "max_positions": 10, "fixed_position_size": 3000.0, "max_gross_leverage": 3.0, "overtrading_rules": ["Max 2 SELL actions per run unless risk event forces more", "Max 2 BUY actions per run", "If no clear improvement vs current holdings, output HOLD for everything"]}, "current_portfolio": [{"symbol": "ABF_CFD.UK", "qty": 1.6220600162206003, "avg_price": 1849.5, "last_price": 1821.24, "unrealized_pnl": -45.83941605839415, "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.9, "unrealized_pnl": -71.09004739336493, "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": 354.6, "unrealized_pnl": -79.07742998352525, "opened_at": "2026-03-10T10:41:24.306870+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": 22.466300549176236, "avg_price": 400.6, "last_price": 419.8, "unrealized_pnl": 431.35297054418345, "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": 131.3, "unrealized_pnl": 47.5822050290138, "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": 16.54715940430226, "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": 42.61363636363636, "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": "SYNT_CFD.UK", "qty": 326.0869565217392, "avg_price": 18.4, "last_price": 27.9, "unrealized_pnl": 3097.8260869565224, "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": 98.75, "unrealized_pnl": 623.7141310232817, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "UTG_CFD.UK", "qty": 23.762376237623762, "avg_price": 505.0, "last_price": 505.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-27T18:23:55.960577+00:00"}, {"symbol": "VTY_CFD.UK", "qty": 0.0, "avg_price": 427.6, "last_price": 406.1, "unrealized_pnl": -150.84190832553787, "opened_at": "2026-03-11T10:11:17.665074+00:00"}, {"symbol": "WIX_CFD.UK", "qty": 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 distance from MA200 (-18.42%), indicating potential mean reversion opportunity."}, {"symbol": "MCG_CFD.UK", "mean_reversion_score": 70, "selection_reason": "Close to MA50 (0.94%) with recent price drop (-4.25%), suggesting potential rebound."}, {"symbol": "PAGE_CFD.UK", "mean_reversion_score": 80, "selection_reason": "Large distance from MA200 (-40.61%) and MA50 (-31.73%), indicating strong mean reversion potential."}, {"symbol": "UTG_CFD.UK", "mean_reversion_score": 65, "selection_reason": "Moderate distance from MA200 (-23.93%) and MA50 (-3.69%), suggesting mean reversion possibility."}, {"symbol": "PAG_CFD.UK", "mean_reversion_score": 60, "selection_reason": "Close to MA50 (0.70%) with recent price drop (-3.40%), indicating potential mean reversion."}], "output_schema": {"actions": {"sell": [{"symbol": "string", "reason": "string"}], "hold": [{"symbol": "string", "reason": "string"}], "buy": [{"symbol": "string", "position_size": "number (currency amount)", "reason": "string"}]}, "portfolio_rationale": "string"}}
Output JSON
{
  "actions": {
    "buy": [],
    "hold": [
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "ABF_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "ADJ_CFD.DE"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "ADS_CFD.DE"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "AIR_CFD.DE"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "AMH_CFD.US"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "AML_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "ATG_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "BBY_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "BIG_CFD.FR"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "BLND_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "BTRW_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "BT_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "BYW6_CFD.DE"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "CBG_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "CCC_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "CCL_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "CO_CFD.FR"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "CRDA_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "CRST_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "CRWD_CFD.US"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "EMG_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "ERA_CFD.FR"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "ESNT_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "EZJ_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "FLO_CFD.US"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "FRVIA_CFD.FR"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "GRI_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "HAIN_CFD.US"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "HIK_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "HMSO_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "IEP_CFD.BE"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "IHG_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "JDW_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "KGF_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "LMP_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "LXS_CFD.DE"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "MCG_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "MSLH_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "OSB_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "PSN_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "RHIM_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "RMV_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "ROR_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "SAFE_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "SYNT_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "TRN_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "UKW_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "UTG_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "VTY_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "WIX_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "WIZZ_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "WKP_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "WPP_CFD.UK"
      },
      {
        "reason": "No significant improvement vs current holdings",
        "symbol": "WTB_CFD.UK"
      }
    ],
    "sell": []
  },
  "portfolio_rationale": "Given the current portfolio and the candidates, there are no clear improvements or significant mean-reversion opportunities that justify making changes. Therefore, the decision is to hold all positions to avoid overtrading and adhere to the strategy rules."
}
Selection logs
#841stage12026-03-26T18:29:56.686276+00:00
{
  "selected_stocks": [
    {
      "symbol": "MSLH_CFD.UK",
      "selection_reason": "Significant distance from MA200 (-18.42%), indicating potential mean reversion opportunity.",
      "mean_reversion_score": 75
    },
    {
      "symbol": "MCG_CFD.UK",
      "selection_reason": "Close to MA50 (0.94%) with recent price drop (-4.25%), suggesting potential rebound.",
      "mean_reversion_score": 70
    },
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "Large distance from MA200 (-40.61%) and MA50 (-31.73%), indicating strong mean reversion potential.",
      "mean_reversion_score": 80
    },
    {
      "symbol": "UTG_CFD.UK",
      "selection_reason": "Moderate distance from MA200 (-23.93%) and MA50 (-3.69%), suggesting mean reversion possibility.",
      "mean_reversion_score": 65
    },
    {
      "symbol": "PAG_CFD.UK",
      "selection_reason": "Close to MA50 (0.70%) with recent price drop (-3.40%), indicating potential mean reversion.",
      "mean_reversion_score": 60
    }
  ],
  "rejected_common_reasons": [
    "High volatility",
    "Unknown sector",
    "Unknown earnings date",
    "Lack of sufficient technical indicators"
  ]
}