Arena run #1149

meanrev-v1minimaxminimax/minimax-m2.1USsuccess
Arena
Run status
as_of: 2026-04-09T17:53:03.189071+00:00
started_at: 2026-04-09T18:18:59.867801+00:00
finished_at: 2026-04-09T18:19:37.505647+00:00
duration_ms: 37636
Inputs
{
  "as_of": "2026-04-09T17:53:03.189071+00:00",
  "dry_run": false,
  "selected": [
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "Extreme oversold: -36.8% 1-day, -40.6% from MA200, -31.7% from MA50, 193% volatility",
      "mean_reversion_score": 92
    },
    {
      "symbol": "OCADO_CFD.UK",
      "selection_reason": "Severe oversold: -27.7% 1-day, -25.4% from MA200, -16.5% from MA50, 249% volatility",
      "mean_reversion_score": 88
    },
    {
      "symbol": "HAS_CFD.UK",
      "selection_reason": "Strong oversold: -17.2% 1-day, -26.5% from MA200, -12.9% from MA50, 118% volatility",
      "mean_reversion_score": 78
    },
    {
      "symbol": "ICG_CFD.UK",
      "selection_reason": "Clear oversold: -15.2% 1-day, -16.2% from MA200, -12.3% from MA50, 73% volatility",
      "mean_reversion_score": 72
    },
    {
      "symbol": "NET_CFD.US",
      "selection_reason": "Moderate oversold: -15.0% 1-day, -11.2% from MA200, -7.4% from MA50, 106% volatility",
      "mean_reversion_score": 68
    }
  ],
  "simulate_only": false,
  "strict_replay": false,
  "universe_symbols": [
    "HAS_CFD.UK",
    "RS1_CFD.UK",
    "MGNS_CFD.UK",
    "GEN_CFD.UK",
    "JUP_CFD.UK",
    "PAGE_CFD.UK",
    "ICG_CFD.UK",
    "SHC_CFD.UK",
    "PAG_CFD.UK",
    "SAFE_CFD.UK",
    "RHIM_CFD.UK",
    "PNN_CFD.UK",
    "RSW_CFD.UK",
    "VCT_CFD.UK",
    "TPK_CFD.UK",
    "WPP_CFD.UK",
    "IEP_CFD.BE",
    "MAB_CFD.UK",
    "NET_CFD.US",
    "OCDO_CFD.UK",
    "IPO_CFD.UK",
    "PSN_CFD.UK",
    "GROW_CFD.UK",
    "MU_CFD.US",
    "MOS_CFD.US",
    "ATG_CFD.UK",
    "ARCAD_CFD.NL",
    "AMG_CFD.NL"
  ]
}
Outputs
{
  "actions": {
    "buy": [
      {
        "reason": "Extreme oversold: -36.8% 1-day, -40.6% from MA200, -31.7% from MA50, 193% volatility; highest mean reversion score (92)",
        "symbol": "PAGE_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "Severe oversold: -27.7% 1-day, -25.4% from MA200, -16.5% from MA50, 249% volatility; strong mean reversion score (88)",
        "symbol": "OCADO_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Already held with +7.3% unrealized gain; no need to sell for mean reversion strategy",
        "symbol": "IHG_CFD.UK"
      },
      {
        "reason": "Already held at breakeven; maintaining position",
        "symbol": "IWG_CFD.UK"
      },
      {
        "reason": "Already held; adding to position due to extreme oversold conditions",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "Already held at breakeven; maintaining position",
        "symbol": "VIRI_CFD.FR"
      }
    ],
    "sell": []
  },
  "portfolio_rationale": "Mean reversion strategy focused on adding to existing high-conviction position (PAGE_CFD.UK) and initiating new position in severely oversold OCADO_CFD.UK. Both candidates show extreme oversold conditions with high volatility, indicating strong mean reversion potential. PAGE_CFD.UK has the highest score (92) and is already in portfolio, making it ideal for adding. OCADO_CFD.UK (score 88) offers diversification with severe oversold metrics. Limited to 2 buys per run within $3000 fixed position size. Existing profitable position (IHG_CFD.UK, +7.3%) held for continued upside. No sells needed as current positions align with mean reversion thesis."
}
Prompts & responses
#2221openrouterminimax/minimax-m2.12026-04-09T18:18:59.892420+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": "HAS_CFD.UK", "name": "HAYS PLC", "sector": "", "last_price": 47.66, "change_1d_pct": -17.213826645822483, "distance_from_ma200_pct": -26.546854506980832, "distance_from_ma50_pct": -12.888674431016456, "volatility_20d_pct": 117.95597135078918, "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": "RS1_CFD.UK", "name": "RS GROUP PLC", "sector": "", "last_price": 725.5, "change_1d_pct": 23.91118701964132, "distance_from_ma200_pct": 26.42587431420933, "distance_from_ma50_pct": 23.74236481466445, "volatility_20d_pct": 102.67597620645313, "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": "MGNS_CFD.UK", "name": "MORGAN SINDALL GROUP PLC", "sector": "", "last_price": 5370.0, "change_1d_pct": 19.599109131403125, "distance_from_ma200_pct": 32.00382943846654, "distance_from_ma50_pct": 15.63012691493826, "volatility_20d_pct": 90.38530398603771, "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": "GEN_CFD.UK", "name": "GENUIT GROUP PLC", "sector": "", "last_price": 370.0, "change_1d_pct": 13.671274961597547, "distance_from_ma200_pct": 1.1384913963945476, "distance_from_ma50_pct": 7.521632190000593, "volatility_20d_pct": 112.82453945409682, "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": "JUP_CFD.UK", "name": "JUPITER FUND MANAGEMENT", "sector": "", "last_price": 193.6, "change_1d_pct": 22.06809583858764, "distance_from_ma200_pct": 57.65825374753912, "distance_from_ma50_pct": 19.274691586205538, "volatility_20d_pct": 96.15961444303547, "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": "ICG_CFD.UK", "name": "ICG Plc", "sector": "", "last_price": 1693.0, "change_1d_pct": -15.18545979199647, "distance_from_ma200_pct": -16.18296530905513, "distance_from_ma50_pct": -12.256151916578562, "volatility_20d_pct": 73.10253575454833, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SHC_CFD.UK", "name": "SHAFTESBURY CAPITAL PLC", "sector": "", "last_price": 140.4, "change_1d_pct": -2.9045643153526868, "distance_from_ma200_pct": 0.26963533347688085, "distance_from_ma50_pct": -0.771073778544229, "volatility_20d_pct": 63.75522821252001, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "PAG_CFD.UK", "name": "PARAGON BANKING GROUP PLC", "sector": "", "last_price": 852.5, "change_1d_pct": -3.399433427762044, "distance_from_ma200_pct": -1.3404962254783492, "distance_from_ma50_pct": 0.699141440891915, "volatility_20d_pct": 71.52779356208148, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "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": "PNN_CFD.UK", "name": "PENNON GROUP PLC", "sector": "", "last_price": 599.27, "change_1d_pct": 16.58722592945663, "distance_from_ma200_pct": 23.75684537859759, "distance_from_ma50_pct": 16.983140154106113, "volatility_20d_pct": 84.07433118596934, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "RSW_CFD.UK", "name": "RENISHAW PLC", "sector": "", "last_price": 4100.0, "change_1d_pct": 18.155619596541793, "distance_from_ma200_pct": 36.779911314574385, "distance_from_ma50_pct": 14.333028240759926, "volatility_20d_pct": 92.61568245477878, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "VCT_CFD.UK", "name": "VICTREX PLC", "sector": "", "last_price": 635.0, "change_1d_pct": -9.285714285714286, "distance_from_ma200_pct": -11.261564295119154, "distance_from_ma50_pct": -2.9181133396627645, "volatility_20d_pct": 130.4010909373053, "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": "TPK_CFD.UK", "name": "TRAVIS PERKINS PLC", "sector": "", "last_price": 601.57, "change_1d_pct": -1.21029986533977, "distance_from_ma200_pct": 0.5267641208837714, "distance_from_ma50_pct": -4.983077425595306, "volatility_20d_pct": 108.19399806448348, "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": "WPP_CFD.UK", "name": "WPP PLC", "sector": "", "last_price": 258.2, "change_1d_pct": 7.31504571903574, "distance_from_ma200_pct": -28.650815099499237, "distance_from_ma50_pct": -5.470345439621472, "volatility_20d_pct": 176.25460987481992, "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": "IEP_CFD.BE", "name": "IEP Invest NV", "sector": "", "last_price": 5.4, "change_1d_pct": 0.0, "distance_from_ma200_pct": 0.9951765451794659, "distance_from_ma50_pct": 0.5657756042326989, "volatility_20d_pct": 138.39532879660115, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MAB_CFD.UK", "name": "MITCHELLS & BUTLERS PLC", "sector": "", "last_price": 292.81, "change_1d_pct": 14.37890625, "distance_from_ma200_pct": 11.595067041457764, "distance_from_ma50_pct": 10.935906392690597, "volatility_20d_pct": 118.87119977937589, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "NET_CFD.US", "name": "Cloudflare Inc", "sector": "", "last_price": 179.5, "change_1d_pct": -15.00946969696969, "distance_from_ma200_pct": -11.23717574989751, "distance_from_ma50_pct": -7.407885031027384, "volatility_20d_pct": 106.3838516529182, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "OCDO_CFD.UK", "name": "OCADO GROUP PLC", "sector": "", "last_price": 191.8, "change_1d_pct": -27.731725697061027, "distance_from_ma200_pct": -25.425914067168765, "distance_from_ma50_pct": -16.54505218327368, "volatility_20d_pct": 249.00720326714767, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IPO_CFD.UK", "name": "IP GROUP PLC", "sector": "", "last_price": 57.6, "change_1d_pct": -1.873935264054516, "distance_from_ma200_pct": 10.233643652522883, "distance_from_ma50_pct": -2.027486732888828, "volatility_20d_pct": 89.82123635439407, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "PSN_CFD.UK", "name": "PERSIMMON PLC", "sector": "", "last_price": 1151.0, "change_1d_pct": -11.47379593594734, "distance_from_ma200_pct": -7.852802577751794, "distance_from_ma50_pct": -13.544517062376404, "volatility_20d_pct": 137.45024420730277, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "GROW_CFD.UK", "name": "MOLTEN VENTURES PLC", "sector": "", "last_price": 465.0, "change_1d_pct": 1.572739187418093, "distance_from_ma200_pct": 22.569628774815076, "distance_from_ma50_pct": -4.275686024250158, "volatility_20d_pct": 115.72658030340939, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MU_CFD.US", "name": "Micron Technology Inc", "sector": "", "last_price": 418.01, "change_1d_pct": -0.7031379908307045, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 19.06801044445876, "volatility_20d_pct": 7259.871488221576, "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": "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": "ARCAD_CFD.NL", "name": "Arcadis", "sector": "", "last_price": 30.78, "change_1d_pct": 2.6000000000000023, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -12.615405580349549, "volatility_20d_pct": 6006.11821905812, "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": "AMG_CFD.NL", "name": "AMG ADVANCED METALLURGICAL", "sector": "", "last_price": 35.48, "change_1d_pct": -0.05633802816902289, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 1.413152840025611, "volatility_20d_pct": 7516.604034946565, "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 oversold: -36.8% 1-day, -40.6% from MA200, -31.7% from MA50, 193% volatility",
      "mean_reversion_score": 92
    },
    {
      "symbol": "OCADO_CFD.UK",
      "selection_reason": "Severe oversold: -27.7% 1-day, -25.4% from MA200, -16.5% from MA50, 249% volatility",
      "mean_reversion_score": 88
    },
    {
      "symbol": "HAS_CFD.UK",
      "selection_reason": "Strong oversold: -17.2% 1-day, -26.5% from MA200, -12.9% from MA50, 118% volatility",
      "mean_reversion_score": 78
    },
    {
      "symbol": "ICG_CFD.UK",
      "selection_reason": "Clear oversold: -15.2% 1-day, -16.2% from MA200, -12.3% from MA50, 73% volatility",
      "mean_reversion_score": 72
    },
    {
      "symbol": "NET_CFD.US",
      "selection_reason": "Moderate oversold: -15.0% 1-day, -11.2% from MA200, -7.4% from MA50, 106% volatility",
      "mean_reversion_score": 68
    }
  ],
  "rejected_common_reasons": [
    "Positive 1-day change (not oversold)",
    "Price above moving averages (not oversold)",
    "Insufficient price decline for mean reversion",
    "Extreme volatility outlier (data quality concern)"
  ]
}
#2222openrouterminimax/minimax-m2.12026-04-09T18:19:18.842540+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": 0.0, "avg_price": 1868.5, "last_price": 1849.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T18:02:13.212382+00:00"}, {"symbol": "AEO_CFD.US", "qty": 0.0, "avg_price": 22.265, "last_price": 18.64, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T21:11:27.888829+00:00"}, {"symbol": "AGFB_CFD.BE", "qty": 0.0, "avg_price": 0.465, "last_price": 0.452, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T21:11:27.888829+00:00"}, {"symbol": "AML_CFD.UK", "qty": 0.0, "avg_price": 36.92, "last_price": 36.04, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "ATG_CFD.UK", "qty": 0.0, "avg_price": 296.0, "last_price": 326.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T18:49:26.891792+00:00"}, {"symbol": "ATO_CFD.FR", "qty": 0.0, "avg_price": 40.34, "last_price": 39.505, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "AUTO_CFD.UK", "qty": 0.0, "avg_price": 482.79999999999995, "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.296, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T09:32:59.506254+00:00"}, {"symbol": "BTRW_CFD.UK", "qty": 0.0, "avg_price": 250.8, "last_price": 272.44, "unrealized_pnl": 0.0, "opened_at": "2026-03-23T18:04:09.108429+00:00"}, {"symbol": "BYIT_CFD.UK", "qty": 0.0, "avg_price": 292.6, "last_price": 289.6, "unrealized_pnl": -61.517429938482564, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "CBG_CFD.UK", "qty": 0.0, "avg_price": 342.91999999999996, "last_price": 342.92, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T18:17:31.188931+00:00"}, {"symbol": "CCL_CFD.UK", "qty": 0.0, "avg_price": 1945.9999999999998, "last_price": 1989.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T18:02:13.212382+00:00"}, {"symbol": "CRST_CFD.UK", "qty": 0.0, "avg_price": 118.83, "last_price": 118.83, "unrealized_pnl": 0.0, "opened_at": "2026-03-23T10:03:51.599067+00:00"}, {"symbol": "CRWD_CFD.US", "qty": 0.0, "avg_price": 349.265, "last_price": 365.38, "unrealized_pnl": 0.0, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "DKNG_CFD.US", "qty": 0.0, "avg_price": 25.28, "last_price": 24.91, "unrealized_pnl": 0.0, "opened_at": "2026-03-05T18:20:59.102726+00:00"}, {"symbol": "DSY_CFD.FR", "qty": 0.0, "avg_price": 17.881, "last_price": 17.133, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "DT_CFD.US", "qty": 0.0, "avg_price": 34.105000000000004, "last_price": 35.864999999999995, "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": 48.88, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "FUTR_CFD.UK", "qty": 0.0, "avg_price": 284.2, "last_price": 297.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "GO_CFD.US", "qty": 0.0, "avg_price": 6.53, "last_price": 6.34, "unrealized_pnl": -87.28943338437996, "opened_at": "2026-03-05T18:20:59.102726+00:00"}, {"symbol": "HAIN_CFD.US", "qty": 0.0, "avg_price": 0.63, "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": 1409.0, "last_price": 1244.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "HYQ_CFD.DE", "qty": 0.0, "avg_price": 82.3, "last_price": 77.3, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T10:09:24.325041+00:00"}, {"symbol": "ICG_CFD.UK", "qty": 0.0, "avg_price": 1496.0, "last_price": 1496.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-31T17:54:15.044829+00:00"}, {"symbol": "IHG_CFD.UK", "qty": 23.032629558541267, "avg_price": 130.25, "last_price": 139.75, "unrealized_pnl": 218.80998080614202, "opened_at": "2026-04-02T18:04:13.492519+00:00"}, {"symbol": "INF_CFD.UK", "qty": 0.0, "avg_price": 795.2, "last_price": 785.85, "unrealized_pnl": 0.0, "opened_at": "2026-03-02T18:21:09.503139+00:00"}, {"symbol": "IWG_CFD.UK", "qty": 34.84320557491289, "avg_price": 172.2, "last_price": 172.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-28T18:06:26.607078+00:00"}, {"symbol": "LIO_CFD.UK", "qty": 0.0, "avg_price": 250.0, "last_price": 250.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "LMND_CFD.US", "qty": 0.0, "avg_price": 48.96, "last_price": 52.07, "unrealized_pnl": 0.0, "opened_at": "2026-02-24T11:23:36.694156+00:00"}, {"symbol": "LMP_CFD.UK", "qty": 0.0, "avg_price": 181.3, "last_price": 181.3, "unrealized_pnl": 0.0, "opened_at": "2026-03-23T10:03:51.599067+00:00"}, {"symbol": "LPE_CFD.FR", "qty": 0.0, "avg_price": 88.414, "last_price": 86.679, "unrealized_pnl": 0.0, "opened_at": "2026-03-02T18:21:09.503139+00:00"}, {"symbol": "LXS_CFD.DE", "qty": 0.0, "avg_price": 13.14, "last_price": 13.24, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T10:33:43.857578+00:00"}, {"symbol": "MAN_CFD.US", "qty": 0.0, "avg_price": 25.68, "last_price": 27.94, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "MCG_CFD.UK", "qty": 0.0, "avg_price": 17.39, "last_price": 19.28, "unrealized_pnl": 0.0, "opened_at": "2026-03-31T10:31:52.715854+00:00"}, {"symbol": "MDB_CFD.US", "qty": 0.0, "avg_price": 252.01, "last_price": 263.69, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "OCDO_CFD.UK", "qty": 0.0, "avg_price": 204.3, "last_price": 204.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T09:32:59.506254+00:00"}, {"symbol": "PAGE_CFD.UK", "qty": 67.72009029345372, "avg_price": 132.9, "last_price": 132.9, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T10:33:43.857578+00:00"}, {"symbol": "PBB_CFD.DE", "qty": 0.0, "avg_price": 2.826, "last_price": 2.7640000000000002, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T10:09:24.325041+00:00"}, {"symbol": "PROX_CFD.BE", "qty": 0.0, "avg_price": 6.98, "last_price": 7.3, "unrealized_pnl": 0.0, "opened_at": "2026-03-01T10:30:13.622938+00:00"}, {"symbol": "RCO_CFD.FR", "qty": 0.0, "avg_price": 44.34, "last_price": 43.58, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T10:32:09.961595+00:00"}, {"symbol": "RIVN_CFD.US", "qty": 0.0, "avg_price": 15.62, "last_price": 15.1, "unrealized_pnl": 0.0, "opened_at": "2026-03-12T18:01:52.554929+00:00"}, {"symbol": "RMV_CFD.UK", "qty": 0.0, "avg_price": 424.3, "last_price": 417.16, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "RSW_CFD.UK", "qty": 0.0, "avg_price": 3790.0000000000005, "last_price": 3790.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-12T18:01:52.554929+00:00"}, {"symbol": "SGRO_CFD.UK", "qty": 0.0, "avg_price": 789.8, "last_price": 735.4, "unrealized_pnl": 0.0, "opened_at": "2026-03-08T18:08:31.007911+00:00"}, {"symbol": "SYNT_CFD.UK", "qty": 0.0, "avg_price": 27.2, "last_price": 34.9, "unrealized_pnl": 0.0, "opened_at": "2026-03-21T10:00:02.317290+00:00"}, {"symbol": "TCAP_CFD.UK", "qty": 0.0, "avg_price": 247.99999999999997, "last_price": 255.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T18:49:26.891792+00:00"}, {"symbol": "TRN_CFD.UK", "qty": 0.0, "avg_price": 184.5, "last_price": 204.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-08T18:08:31.007911+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-19T09:33:49.074031+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 0.0, "avg_price": 92.35, "last_price": 94.79, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T17:57:28.313088+00:00"}, {"symbol": "UTG_CFD.UK", "qty": 0.0, "avg_price": 461.2, "last_price": 461.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-10T18:24:41.570614+00:00"}, {"symbol": "VIRI_CFD.FR", "qty": 24.23263327948304, "avg_price": 123.79999999999998, "last_price": 123.8, "unrealized_pnl": 3.4436643090150254e-13, "opened_at": "2026-04-07T10:08:43.931517+00:00"}, {"symbol": "VTY_CFD.UK", "qty": 0.0, "avg_price": 385.0, "last_price": 354.1, "unrealized_pnl": 0.0, "opened_at": "2026-03-10T18:24:41.570614+00:00"}, {"symbol": "WIZZ_CFD.UK", "qty": 0.0, "avg_price": 908.5, "last_price": 878.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T10:20:03.276878+00:00"}, {"symbol": "WPP_CFD.UK", "qty": 0.0, "avg_price": 263.4, "last_price": 257.0, "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": "PAGE_CFD.UK", "mean_reversion_score": 92, "selection_reason": "Extreme oversold: -36.8% 1-day, -40.6% from MA200, -31.7% from MA50, 193% volatility"}, {"symbol": "OCADO_CFD.UK", "mean_reversion_score": 88, "selection_reason": "Severe oversold: -27.7% 1-day, -25.4% from MA200, -16.5% from MA50, 249% volatility"}, {"symbol": "HAS_CFD.UK", "mean_reversion_score": 78, "selection_reason": "Strong oversold: -17.2% 1-day, -26.5% from MA200, -12.9% from MA50, 118% volatility"}, {"symbol": "ICG_CFD.UK", "mean_reversion_score": 72, "selection_reason": "Clear oversold: -15.2% 1-day, -16.2% from MA200, -12.3% from MA50, 73% volatility"}, {"symbol": "NET_CFD.US", "mean_reversion_score": 68, "selection_reason": "Moderate oversold: -15.0% 1-day, -11.2% from MA200, -7.4% from MA50, 106% volatility"}], "output_schema": {"actions": {"sell": [{"symbol": "string", "reason": "string"}], "hold": [{"symbol": "string", "reason": "string"}], "buy": [{"symbol": "string", "position_size": "number (currency amount)", "reason": "string"}]}, "portfolio_rationale": "string"}}
Output JSON
{
  "actions": {
    "buy": [
      {
        "reason": "Extreme oversold: -36.8% 1-day, -40.6% from MA200, -31.7% from MA50, 193% volatility; highest mean reversion score (92)",
        "symbol": "PAGE_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "Severe oversold: -27.7% 1-day, -25.4% from MA200, -16.5% from MA50, 249% volatility; strong mean reversion score (88)",
        "symbol": "OCADO_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Already held with +7.3% unrealized gain; no need to sell for mean reversion strategy",
        "symbol": "IHG_CFD.UK"
      },
      {
        "reason": "Already held at breakeven; maintaining position",
        "symbol": "IWG_CFD.UK"
      },
      {
        "reason": "Already held; adding to position due to extreme oversold conditions",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "Already held at breakeven; maintaining position",
        "symbol": "VIRI_CFD.FR"
      }
    ],
    "sell": []
  },
  "portfolio_rationale": "Mean reversion strategy focused on adding to existing high-conviction position (PAGE_CFD.UK) and initiating new position in severely oversold OCADO_CFD.UK. Both candidates show extreme oversold conditions with high volatility, indicating strong mean reversion potential. PAGE_CFD.UK has the highest score (92) and is already in portfolio, making it ideal for adding. OCADO_CFD.UK (score 88) offers diversification with severe oversold metrics. Limited to 2 buys per run within $3000 fixed position size. Existing profitable position (IHG_CFD.UK, +7.3%) held for continued upside. No sells needed as current positions align with mean reversion thesis."
}
Selection logs
#1077stage12026-04-09T18:19:18.839983+00:00
{
  "selected_stocks": [
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "Extreme oversold: -36.8% 1-day, -40.6% from MA200, -31.7% from MA50, 193% volatility",
      "mean_reversion_score": 92
    },
    {
      "symbol": "OCADO_CFD.UK",
      "selection_reason": "Severe oversold: -27.7% 1-day, -25.4% from MA200, -16.5% from MA50, 249% volatility",
      "mean_reversion_score": 88
    },
    {
      "symbol": "HAS_CFD.UK",
      "selection_reason": "Strong oversold: -17.2% 1-day, -26.5% from MA200, -12.9% from MA50, 118% volatility",
      "mean_reversion_score": 78
    },
    {
      "symbol": "ICG_CFD.UK",
      "selection_reason": "Clear oversold: -15.2% 1-day, -16.2% from MA200, -12.3% from MA50, 73% volatility",
      "mean_reversion_score": 72
    },
    {
      "symbol": "NET_CFD.US",
      "selection_reason": "Moderate oversold: -15.0% 1-day, -11.2% from MA200, -7.4% from MA50, 106% volatility",
      "mean_reversion_score": 68
    }
  ],
  "rejected_common_reasons": [
    "Positive 1-day change (not oversold)",
    "Price above moving averages (not oversold)",
    "Insufficient price decline for mean reversion",
    "Extreme volatility outlier (data quality concern)"
  ]
}