Arena run #888

meanrev-v1z-aiz-ai/glm-4.7USsuccess
Arena
Run status
as_of: 2026-03-27T18:04:13.865611+00:00
started_at: 2026-03-27T19:04:26.053489+00:00
finished_at: 2026-03-27T19:04:38.940456+00:00
duration_ms: 12885
Inputs
{
  "as_of": "2026-03-27T18:04:13.865611+00:00",
  "dry_run": false,
  "selected": [
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "Extreme 1d drop -36.8%, far below MA50 (-31.7%) and MA200 (-40.6%).",
      "mean_reversion_score": 95
    },
    {
      "symbol": "CBG_CFD.UK",
      "selection_reason": "Strong 1d drop -26.6%, trading below MA50 (-22.1%) and MA200 (-13.4%).",
      "mean_reversion_score": 88
    },
    {
      "symbol": "UTG_CFD.UK",
      "selection_reason": "Significant 1d drop -8.3%, below MA50 (-13.5%) and deeply below MA200 (-32.1%).",
      "mean_reversion_score": 82
    },
    {
      "symbol": "RHIM_CFD.UK",
      "selection_reason": "1d drop -6.8%, slightly below MA200 (-2.4%) but near MA50 (+0.9%).",
      "mean_reversion_score": 75
    },
    {
      "symbol": "PAG_CFD.UK",
      "selection_reason": "1d drop -3.4%, trading near MA50 (+0.7%) and slightly below MA200 (-1.3%).",
      "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 (Score 95). Extreme 1d drop -36.8% suggests strong mean reversion opportunity.",
        "symbol": "PAGE_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "High candidate (Score 88). Strong 1d drop -26.6% suggests strong mean reversion opportunity.",
        "symbol": "CBG_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Flat PnL, no clear signal to exit.",
        "symbol": "AUTO_CFD.UK"
      },
      {
        "reason": "Drawdown (-5.8%) is within acceptable range for mean reversion strategy.",
        "symbol": "CCL_CFD.UK"
      },
      {
        "reason": "Drawdown (-3.1%) is within acceptable range for mean reversion strategy.",
        "symbol": "HIK_CFD.UK"
      },
      {
        "reason": "Drawdown (-6.9%) is within acceptable range for mean reversion strategy.",
        "symbol": "IWG_CFD.UK"
      },
      {
        "reason": "Flat PnL, no clear signal to exit.",
        "symbol": "KGF_CFD.UK"
      },
      {
        "reason": "Drawdown (-5.8%) is within acceptable range for mean reversion strategy.",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "Flat PnL, no clear signal to exit.",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "Flat PnL, no clear signal to exit.",
        "symbol": "VTY_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Stop loss triggered. Price dropped -6.0% from entry, indicating mean reversion failure.",
        "symbol": "ADBE_CFD.US"
      },
      {
        "reason": "Stop loss triggered. Price dropped -5.7% from entry, indicating mean reversion failure.",
        "symbol": "ZS_CFD.US"
      }
    ]
  },
  "portfolio_rationale": "Executing mean reversion strategy. Selling ADBE and ZS as they have breached acceptable loss thresholds (-5% to -6%), signaling that the reversion thesis is invalid. Allocating capital to PAGE and CBG, which show the highest mean reversion scores (95 and 88) due to extreme recent drops (-36.8% and -26.6%). Holding other positions as they are either flat or within acceptable volatility bands. Strictly adhering to max 2 buys and 2 sells per run."
}
Prompts & responses
#1737openrouterz-ai/glm-4.72026-03-27T19:04:26.084905+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 1d drop -36.8%, far below MA50 (-31.7%) and MA200 (-40.6%).",
      "mean_reversion_score": 95
    },
    {
      "symbol": "CBG_CFD.UK",
      "selection_reason": "Strong 1d drop -26.6%, trading below MA50 (-22.1%) and MA200 (-13.4%).",
      "mean_reversion_score": 88
    },
    {
      "symbol": "UTG_CFD.UK",
      "selection_reason": "Significant 1d drop -8.3%, below MA50 (-13.5%) and deeply below MA200 (-32.1%).",
      "mean_reversion_score": 82
    },
    {
      "symbol": "RHIM_CFD.UK",
      "selection_reason": "1d drop -6.8%, slightly below MA200 (-2.4%) but near MA50 (+0.9%).",
      "mean_reversion_score": 75
    },
    {
      "symbol": "PAG_CFD.UK",
      "selection_reason": "1d drop -3.4%, trading near MA50 (+0.7%) and slightly below MA200 (-1.3%).",
      "mean_reversion_score": 70
    }
  ],
  "rejected_common_reasons": [
    "Symbols with extreme positive 1d changes (CRST_CFD.UK, BOY_CFD.UK) excluded as they are extending upwards.",
    "Symbols with high volatility but positive momentum (LMP_CFD.UK, INVP_CFD.UK, JDW_CFD.UK) excluded.",
    "Symbols with null distance_from_ma200 or extreme volatility artifacts (ABDN_CFD.UK, BBY_CFD.UK, CPG_CFD.UK, BYIT_CFD.UK, ATG_CFD.UK) excluded due to data quality."
  ]
}
#1738openrouterz-ai/glm-4.72026-03-27T19:04:31.419643+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": "ADBE_CFD.US", "qty": 12.025494047380446, "avg_price": 249.47, "last_price": 234.58, "unrealized_pnl": -179.0596063654947, "opened_at": "2026-03-14T18:06:47.909233+00:00"}, {"symbol": "AUTO_CFD.UK", "qty": 6.2137531068765535, "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.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T18:07:22.382508+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-19T00:47:27.070066+00:00"}, {"symbol": "CBG_CFD.UK", "qty": 0.0, "avg_price": 372.74, "last_price": 342.92, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T18:04:14.272849+00:00"}, {"symbol": "CCL_CFD.UK", "qty": 1.5416238437821173, "avg_price": 1945.9999999999998, "last_price": 1832.5, "unrealized_pnl": -174.97430626926996, "opened_at": "2026-03-06T18:02:13.212382+00:00"}, {"symbol": "CRWD_CFD.US", "qty": 0.0, "avg_price": 349.425, "last_price": 374.67, "unrealized_pnl": 0.0, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "ERA_CFD.FR", "qty": 0.0, "avg_price": 47.4, "last_price": 52.1, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "FICO_CFD.US", "qty": 0.0, "avg_price": 1127.4099999999999, "last_price": 1160.795, "unrealized_pnl": 0.0, "opened_at": "2026-03-14T18:06:47.909233+00:00"}, {"symbol": "FUTR_CFD.UK", "qty": 0.0, "avg_price": 400.6, "last_price": 414.2, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "HIK_CFD.UK", "qty": 2.3529411764705883, "avg_price": 1275.0, "last_price": 1236.0, "unrealized_pnl": -91.76470588235294, "opened_at": "2026-03-02T10:31:26.559356+00:00"}, {"symbol": "IWG_CFD.UK", "qty": 16.216216216216218, "avg_price": 185.0, "last_price": 172.2, "unrealized_pnl": -207.56756756756778, "opened_at": "2026-03-17T10:04:29.123574+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-26T10:11:44.579260+00:00"}, {"symbol": "OCDO_CFD.UK", "qty": 13.824884792626728, "avg_price": 217.0, "last_price": 204.3, "unrealized_pnl": -175.5760368663593, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "PAGE_CFD.UK", "qty": 22.57336343115124, "avg_price": 132.9, "last_price": 132.9, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "RMV_CFD.UK", "qty": 0.0, "avg_price": 424.3, "last_price": 442.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "THG_CFD.UK", "qty": 0.0, "avg_price": 34.98, "last_price": 34.98, "unrealized_pnl": 0.0, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "TRST_CFD.UK", "qty": 0.0, "avg_price": 134.3, "last_price": 139.6, "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.723, "unrealized_pnl": 0.0, "opened_at": "2026-03-02T10:31:26.559356+00:00"}, {"symbol": "VTY_CFD.UK", "qty": 8.85608856088561, "avg_price": 338.75, "last_price": 338.75, "unrealized_pnl": 0.0, "opened_at": "2026-03-17T10:04:29.123574+00:00"}, {"symbol": "XRX_CFD.US", "qty": 0.0, "avg_price": 1.73, "last_price": 1.83, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T18:07:22.382508+00:00"}, {"symbol": "ZS_CFD.US", "qty": 21.228417775261818, "avg_price": 141.32, "last_price": 133.27, "unrealized_pnl": -170.88876309085728, "opened_at": "2026-02-22T17:33:48.338981+00:00"}], "candidates": [{"symbol": "PAGE_CFD.UK", "mean_reversion_score": 95, "selection_reason": "Extreme 1d drop -36.8%, far below MA50 (-31.7%) and MA200 (-40.6%)."}, {"symbol": "CBG_CFD.UK", "mean_reversion_score": 88, "selection_reason": "Strong 1d drop -26.6%, trading below MA50 (-22.1%) and MA200 (-13.4%)."}, {"symbol": "UTG_CFD.UK", "mean_reversion_score": 82, "selection_reason": "Significant 1d drop -8.3%, below MA50 (-13.5%) and deeply below MA200 (-32.1%)."}, {"symbol": "RHIM_CFD.UK", "mean_reversion_score": 75, "selection_reason": "1d drop -6.8%, slightly below MA200 (-2.4%) but near MA50 (+0.9%)."}, {"symbol": "PAG_CFD.UK", "mean_reversion_score": 70, "selection_reason": "1d drop -3.4%, trading near MA50 (+0.7%) and slightly below MA200 (-1.3%)."}], "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 (Score 95). Extreme 1d drop -36.8% suggests strong mean reversion opportunity.",
        "symbol": "PAGE_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "High candidate (Score 88). Strong 1d drop -26.6% suggests strong mean reversion opportunity.",
        "symbol": "CBG_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Flat PnL, no clear signal to exit.",
        "symbol": "AUTO_CFD.UK"
      },
      {
        "reason": "Drawdown (-5.8%) is within acceptable range for mean reversion strategy.",
        "symbol": "CCL_CFD.UK"
      },
      {
        "reason": "Drawdown (-3.1%) is within acceptable range for mean reversion strategy.",
        "symbol": "HIK_CFD.UK"
      },
      {
        "reason": "Drawdown (-6.9%) is within acceptable range for mean reversion strategy.",
        "symbol": "IWG_CFD.UK"
      },
      {
        "reason": "Flat PnL, no clear signal to exit.",
        "symbol": "KGF_CFD.UK"
      },
      {
        "reason": "Drawdown (-5.8%) is within acceptable range for mean reversion strategy.",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "Flat PnL, no clear signal to exit.",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "Flat PnL, no clear signal to exit.",
        "symbol": "VTY_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Stop loss triggered. Price dropped -6.0% from entry, indicating mean reversion failure.",
        "symbol": "ADBE_CFD.US"
      },
      {
        "reason": "Stop loss triggered. Price dropped -5.7% from entry, indicating mean reversion failure.",
        "symbol": "ZS_CFD.US"
      }
    ]
  },
  "portfolio_rationale": "Executing mean reversion strategy. Selling ADBE and ZS as they have breached acceptable loss thresholds (-5% to -6%), signaling that the reversion thesis is invalid. Allocating capital to PAGE and CBG, which show the highest mean reversion scores (95 and 88) due to extreme recent drops (-36.8% and -26.6%). Holding other positions as they are either flat or within acceptable volatility bands. Strictly adhering to max 2 buys and 2 sells per run."
}
Selection logs
#854stage12026-03-27T19:04:31.417450+00:00
{
  "selected_stocks": [
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "Extreme 1d drop -36.8%, far below MA50 (-31.7%) and MA200 (-40.6%).",
      "mean_reversion_score": 95
    },
    {
      "symbol": "CBG_CFD.UK",
      "selection_reason": "Strong 1d drop -26.6%, trading below MA50 (-22.1%) and MA200 (-13.4%).",
      "mean_reversion_score": 88
    },
    {
      "symbol": "UTG_CFD.UK",
      "selection_reason": "Significant 1d drop -8.3%, below MA50 (-13.5%) and deeply below MA200 (-32.1%).",
      "mean_reversion_score": 82
    },
    {
      "symbol": "RHIM_CFD.UK",
      "selection_reason": "1d drop -6.8%, slightly below MA200 (-2.4%) but near MA50 (+0.9%).",
      "mean_reversion_score": 75
    },
    {
      "symbol": "PAG_CFD.UK",
      "selection_reason": "1d drop -3.4%, trading near MA50 (+0.7%) and slightly below MA200 (-1.3%).",
      "mean_reversion_score": 70
    }
  ],
  "rejected_common_reasons": [
    "Symbols with extreme positive 1d changes (CRST_CFD.UK, BOY_CFD.UK) excluded as they are extending upwards.",
    "Symbols with high volatility but positive momentum (LMP_CFD.UK, INVP_CFD.UK, JDW_CFD.UK) excluded.",
    "Symbols with null distance_from_ma200 or extreme volatility artifacts (ABDN_CFD.UK, BBY_CFD.UK, CPG_CFD.UK, BYIT_CFD.UK, ATG_CFD.UK) excluded due to data quality."
  ]
}