Arena run #754

meanrev-v1googlegoogle/gemini-3-pro-previewUSsuccess
Arena
Run status
as_of: 2026-03-20T18:25:08.105367+00:00
started_at: 2026-03-20T19:02:41.127220+00:00
finished_at: 2026-03-20T19:03:46.537788+00:00
duration_ms: 65409
Inputs
{
  "as_of": "2026-03-20T18:25:08.105367+00:00",
  "dry_run": false,
  "selected": [
    {
      "symbol": "HAIN_CFD.US",
      "selection_reason": "Extreme oversold condition (-33% vs MA50) signaling potential snap-back.",
      "mean_reversion_score": 95
    },
    {
      "symbol": "AML_CFD.UK",
      "selection_reason": "Deeply oversold (-28% vs MA50) with high volatility indicating capitulation risk/reward.",
      "mean_reversion_score": 90
    },
    {
      "symbol": "CMBT_CFD.BE",
      "selection_reason": "Extended to upside (+17% vs MA50) with recent 1D pullback suggesting reversion start.",
      "mean_reversion_score": 82
    },
    {
      "symbol": "BTRW_CFD.UK",
      "selection_reason": "Significant deviation from mean (-14.7% vs MA50) offering attractive entry.",
      "mean_reversion_score": 80
    },
    {
      "symbol": "AAL_CFD.UK",
      "selection_reason": "Overextended to upside (+11.7% vs MA50), potential short-term mean reversion candidate.",
      "mean_reversion_score": 75
    }
  ],
  "simulate_only": false,
  "strict_replay": false,
  "universe_symbols": [
    "ABDN_CFD.UK",
    "HAIN_CFD.US",
    "BBY_CFD.UK",
    "BME_CFD.UK",
    "BTRW_CFD.UK",
    "BYIT_CFD.UK",
    "AML_CFD.UK",
    "AAF_CFD.UK",
    "AAL_CFD.UK",
    "CMBT_CFD.BE"
  ]
}
Outputs
{
  "actions": {
    "buy": [
      {
        "reason": "Entry Signal: Highest mean reversion score (95) due to extreme oversold conditions.",
        "symbol": "HAIN_CFD.US",
        "position_size": 3000
      },
      {
        "reason": "Entry Signal: High mean reversion score (90) due to deep oversold status and volatility.",
        "symbol": "AML_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Holding for expected mean reversion bounce.",
        "symbol": "ADBE_CFD.US"
      },
      {
        "reason": "Holding for expected mean reversion bounce.",
        "symbol": "BRBY_CFD.UK"
      },
      {
        "reason": "Price flat, holding for development.",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "Holding for expected mean reversion bounce.",
        "symbol": "CCL_CFD.UK"
      },
      {
        "reason": "Holding for expected mean reversion bounce.",
        "symbol": "FICO_CFD.US"
      },
      {
        "reason": "Price flat, holding for development.",
        "symbol": "ICG_CFD.UK"
      },
      {
        "reason": "Holding for expected mean reversion bounce.",
        "symbol": "MNDI_CFD.UK"
      },
      {
        "reason": "Holding for expected mean reversion bounce.",
        "symbol": "PZC_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Take profit: Position has realized significant gains (+437), suggesting mean reversion has occurred.",
        "symbol": "TRN_CFD.UK"
      },
      {
        "reason": "Take profit: Position has realized significant gains (+303), suggesting mean reversion has occurred.",
        "symbol": "UKW_CFD.UK"
      }
    ]
  },
  "portfolio_rationale": "The portfolio is currently at the maximum of 10 positions. To adhere to the strategy and capture new opportunities, we are rotating capital by selling the two most profitable positions (TRN and UKW), where mean reversion appears to have completed. We are reallocating this capital to the two highest-conviction oversold candidates (HAIN and AML) to maintain full exposure while optimizing for potential reversion."
}
Prompts & responses
#1492openroutergoogle/gemini-3-pro-preview2026-03-20T19:02:41.138581+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": "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": "HAIN_CFD.US", "name": "The Hain Celestial Group Inc", "sector": "", "last_price": 0.7051, "change_1d_pct": -0.18403171007929098, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -33.19918220868079, "volatility_20d_pct": 9562.636249272142, "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": "BME_CFD.UK", "name": "B&M EUROPEAN VALUE RETAIL SA", "sector": "", "last_price": 187.88, "change_1d_pct": 1.0107526881720341, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 7.318666981973787, "volatility_20d_pct": 3503.713036055361, "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": "BTRW_CFD.UK", "name": "Barratt Redrow Plc", "sector": "", "last_price": 322.3, "change_1d_pct": -2.066241264053481, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -14.679472246341497, "volatility_20d_pct": 3259.103464638469, "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": "AML_CFD.UK", "name": "ASTON MARTIN LAGONDA GLOBAL", "sector": "", "last_price": 42.5, "change_1d_pct": -3.8461538461538547, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -28.744119294080562, "volatility_20d_pct": 7200.809443066937, "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": "AAF_CFD.UK", "name": "AIRTEL AFRICA PLC", "sector": "", "last_price": 360.2, "change_1d_pct": 3.209169054441263, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 3.706007002026901, "volatility_20d_pct": 3083.516648032069, "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": "AAL_CFD.UK", "name": "ANGLO AMERICAN PLC", "sector": "", "last_price": 3586.0, "change_1d_pct": 0.055803571428580945, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 11.748904636364198, "volatility_20d_pct": 4209.946938281094, "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": "CMBT_CFD.BE", "name": "Euronav", "sector": "", "last_price": 12.04, "change_1d_pct": -3.2154340836012874, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 17.20286979598327, "volatility_20d_pct": 3662.2062333013014, "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": "HAIN_CFD.US",
      "selection_reason": "Extreme oversold condition (-33% vs MA50) signaling potential snap-back.",
      "mean_reversion_score": 95
    },
    {
      "symbol": "AML_CFD.UK",
      "selection_reason": "Deeply oversold (-28% vs MA50) with high volatility indicating capitulation risk/reward.",
      "mean_reversion_score": 90
    },
    {
      "symbol": "CMBT_CFD.BE",
      "selection_reason": "Extended to upside (+17% vs MA50) with recent 1D pullback suggesting reversion start.",
      "mean_reversion_score": 82
    },
    {
      "symbol": "BTRW_CFD.UK",
      "selection_reason": "Significant deviation from mean (-14.7% vs MA50) offering attractive entry.",
      "mean_reversion_score": 80
    },
    {
      "symbol": "AAL_CFD.UK",
      "selection_reason": "Overextended to upside (+11.7% vs MA50), potential short-term mean reversion candidate.",
      "mean_reversion_score": 75
    }
  ],
  "rejected_common_reasons": [
    "Deviation from MA50 insufficient for mean reversion setup (e.g., < 5% deviation).",
    "Momentum profile neutral with no clear overbought/oversold signal."
  ]
}
#1493openroutergoogle/gemini-3-pro-preview2026-03-20T19:03:15.090123+00:00
System prompt
You are an Arena portfolio manager. You must follow the strategy rules strictly and output ONLY valid JSON. You are NOT allowed to invent prices/fundamentals/news/earnings. If a field is null/empty, treat it as unknown. Avoid overtrading: if changes are marginal, prefer HOLD. Do not churn.
User prompt
{"task": "stage2_portfolio_management", "region": "US", "strategy": {"key": "meanrev-v1", "name": "Two-Stage LLM Mean-Reversion (Arena v1)", "rules": {"max_positions": 10, "max_buys_per_run": 2, "avoid_overtrading": true, "max_sells_per_run": 2, "max_gross_leverage": 3.0, "fixed_position_size": 3000.0, "universe_symbols_eu": [], "universe_symbols_us": []}}, "portfolio_constraints": {"initial_equity": 10000.0, "max_positions": 10, "fixed_position_size": 3000.0, "max_gross_leverage": 3.0, "overtrading_rules": ["Max 2 SELL actions per run unless risk event forces more", "Max 2 BUY actions per run", "If no clear improvement vs current holdings, output HOLD for everything"]}, "current_portfolio": [{"symbol": "AAL_CFD.UK", "qty": 0.0, "avg_price": 3035.0, "last_price": 3291.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T10:19:46.508085+00:00"}, {"symbol": "ADBE_CFD.US", "qty": 11.775788977861517, "avg_price": 254.76, "last_price": 247.91, "unrealized_pnl": -80.66415449835132, "opened_at": "2026-03-14T18:06:47.909233+00:00"}, {"symbol": "ATE_CFD.FR", "qty": 0.0, "avg_price": 62.35, "last_price": 57.25, "unrealized_pnl": -245.38893344025666, "opened_at": "2026-02-27T18:23:55.960577+00:00"}, {"symbol": "BRBY_CFD.UK", "qty": 2.8222013170272815, "avg_price": 1063.0, "last_price": 1021.93, "unrealized_pnl": -115.9078080903106, "opened_at": "2026-03-09T10:19:46.508085+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-06T18:02:13.212382+00:00"}, {"symbol": "CABO_CFD.US", "qty": 0.0, "avg_price": 94.6, "last_price": 108.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-27T18:23:55.960577+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": "FICO_CFD.US", "qty": 2.6609662855571625, "avg_price": 1127.4099999999999, "last_price": 1117.565, "unrealized_pnl": -26.197213081309734, "opened_at": "2026-03-14T18:06:47.909233+00:00"}, {"symbol": "HIK_CFD.UK", "qty": 0.0, "avg_price": 1408.0, "last_price": 1234.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "ICG_CFD.UK", "qty": 1.772002362669817, "avg_price": 1693.0, "last_price": 1693.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T18:18:45.954380+00:00"}, {"symbol": "LIO_CFD.UK", "qty": 0.0, "avg_price": 250.0, "last_price": 270.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "MKS_CFD.UK", "qty": 0.0, "avg_price": 397.6, "last_price": 355.5, "unrealized_pnl": -317.65593561368223, "opened_at": "2026-03-01T10:30:13.622938+00:00"}, {"symbol": "MNDI_CFD.UK", "qty": 3.658536585365854, "avg_price": 820.0, "last_price": 808.6, "unrealized_pnl": -41.70731707317065, "opened_at": "2026-03-16T10:12:30.296045+00:00"}, {"symbol": "PZC_CFD.UK", "qty": 36.67481662591687, "avg_price": 81.8, "last_price": 77.7, "unrealized_pnl": -150.36674816625896, "opened_at": "2026-03-01T10:30:13.622938+00:00"}, {"symbol": "TRN_CFD.UK", "qty": 16.260162601626018, "avg_price": 184.5, "last_price": 211.4, "unrealized_pnl": 437.39837398374, "opened_at": "2026-03-12T10:21:39.078796+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 32.48511099079589, "avg_price": 92.35, "last_price": 101.7, "unrealized_pnl": 303.73578776394186, "opened_at": "2026-02-25T17:57:28.313088+00:00"}, {"symbol": "WIZZ_CFD.UK", "qty": 0.0, "avg_price": 1299.0, "last_price": 927.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T17:57:28.313088+00:00"}], "candidates": [{"symbol": "HAIN_CFD.US", "mean_reversion_score": 95, "selection_reason": "Extreme oversold condition (-33% vs MA50) signaling potential snap-back."}, {"symbol": "AML_CFD.UK", "mean_reversion_score": 90, "selection_reason": "Deeply oversold (-28% vs MA50) with high volatility indicating capitulation risk/reward."}, {"symbol": "CMBT_CFD.BE", "mean_reversion_score": 82, "selection_reason": "Extended to upside (+17% vs MA50) with recent 1D pullback suggesting reversion start."}, {"symbol": "BTRW_CFD.UK", "mean_reversion_score": 80, "selection_reason": "Significant deviation from mean (-14.7% vs MA50) offering attractive entry."}, {"symbol": "AAL_CFD.UK", "mean_reversion_score": 75, "selection_reason": "Overextended to upside (+11.7% vs MA50), potential short-term mean reversion candidate."}], "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": "Entry Signal: Highest mean reversion score (95) due to extreme oversold conditions.",
        "symbol": "HAIN_CFD.US",
        "position_size": 3000
      },
      {
        "reason": "Entry Signal: High mean reversion score (90) due to deep oversold status and volatility.",
        "symbol": "AML_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Holding for expected mean reversion bounce.",
        "symbol": "ADBE_CFD.US"
      },
      {
        "reason": "Holding for expected mean reversion bounce.",
        "symbol": "BRBY_CFD.UK"
      },
      {
        "reason": "Price flat, holding for development.",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "Holding for expected mean reversion bounce.",
        "symbol": "CCL_CFD.UK"
      },
      {
        "reason": "Holding for expected mean reversion bounce.",
        "symbol": "FICO_CFD.US"
      },
      {
        "reason": "Price flat, holding for development.",
        "symbol": "ICG_CFD.UK"
      },
      {
        "reason": "Holding for expected mean reversion bounce.",
        "symbol": "MNDI_CFD.UK"
      },
      {
        "reason": "Holding for expected mean reversion bounce.",
        "symbol": "PZC_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Take profit: Position has realized significant gains (+437), suggesting mean reversion has occurred.",
        "symbol": "TRN_CFD.UK"
      },
      {
        "reason": "Take profit: Position has realized significant gains (+303), suggesting mean reversion has occurred.",
        "symbol": "UKW_CFD.UK"
      }
    ]
  },
  "portfolio_rationale": "The portfolio is currently at the maximum of 10 positions. To adhere to the strategy and capture new opportunities, we are rotating capital by selling the two most profitable positions (TRN and UKW), where mean reversion appears to have completed. We are reallocating this capital to the two highest-conviction oversold candidates (HAIN and AML) to maintain full exposure while optimizing for potential reversion."
}
Selection logs
#743stage12026-03-20T19:03:15.088204+00:00
{
  "selected_stocks": [
    {
      "symbol": "HAIN_CFD.US",
      "selection_reason": "Extreme oversold condition (-33% vs MA50) signaling potential snap-back.",
      "mean_reversion_score": 95
    },
    {
      "symbol": "AML_CFD.UK",
      "selection_reason": "Deeply oversold (-28% vs MA50) with high volatility indicating capitulation risk/reward.",
      "mean_reversion_score": 90
    },
    {
      "symbol": "CMBT_CFD.BE",
      "selection_reason": "Extended to upside (+17% vs MA50) with recent 1D pullback suggesting reversion start.",
      "mean_reversion_score": 82
    },
    {
      "symbol": "BTRW_CFD.UK",
      "selection_reason": "Significant deviation from mean (-14.7% vs MA50) offering attractive entry.",
      "mean_reversion_score": 80
    },
    {
      "symbol": "AAL_CFD.UK",
      "selection_reason": "Overextended to upside (+11.7% vs MA50), potential short-term mean reversion candidate.",
      "mean_reversion_score": 75
    }
  ],
  "rejected_common_reasons": [
    "Deviation from MA50 insufficient for mean reversion setup (e.g., < 5% deviation).",
    "Momentum profile neutral with no clear overbought/oversold signal."
  ]
}