Arena run #439

meanrev-v1x-aix-ai/grok-4.1-fastUSsuccess
Arena
Run status
as_of: 2026-03-05T18:20:59.102726+00:00
started_at: 2026-03-05T18:27:57.307051+00:00
finished_at: 2026-03-05T18:28:53.092307+00:00
duration_ms: 55784
Inputs
{
  "dry_run": false,
  "selected": [
    {
      "symbol": "GO_CFD.US",
      "selection_reason": "-29.7% 1d change, -28.6% below MA50, -47.2% below MA200, 145% vol20d",
      "mean_reversion_score": 98
    },
    {
      "symbol": "DELL_CFD.US",
      "selection_reason": "+20.4% above MA50, +14.4% above MA200, 141% vol20d overbought",
      "mean_reversion_score": 90
    },
    {
      "symbol": "DKNG_CFD.US",
      "selection_reason": "-13.7% below MA50, -30.3% below MA200, 123% vol20d",
      "mean_reversion_score": 85
    },
    {
      "symbol": "JBLU_CFD.US",
      "selection_reason": "-14.6% 1d change, -10.8% below MA50, 135% vol20d",
      "mean_reversion_score": 82
    },
    {
      "symbol": "FBIN_CFD.US",
      "selection_reason": "-8.4% 1d change, -10.2% below MA50, -6.9% below MA200, 139% vol20d",
      "mean_reversion_score": 80
    }
  ],
  "universe_symbols": [
    "PAGE_CFD.UK",
    "MCG_CFD.UK",
    "UTG_CFD.UK",
    "TRN_CFD.UK",
    "DLN_CFD.UK",
    "STAN_CFD.UK",
    "SGRO_CFD.UK",
    "RHIM_CFD.UK",
    "BBY_CFD.UK",
    "JCQ_CFD.FR",
    "SHC_CFD.UK",
    "DUE_CFD.DE",
    "GDS_CFD.FR",
    "DPLM_CFD.UK",
    "IPO_CFD.UK",
    "ATG_CFD.UK",
    "GO_CFD.US",
    "DKNG_CFD.US",
    "S92_CFD.DE",
    "PZC_CFD.UK",
    "GE_CFD.US",
    "DEZ_CFD.DE",
    "FTK_CFD.DE",
    "FUTR_CFD.UK",
    "PSN_CFD.UK",
    "FR_CFD.FR",
    "OCDO_CFD.UK",
    "IMB_CFD.UK",
    "JBLU_CFD.US",
    "TKA_CFD.DE",
    "ADJ_CFD.DE",
    "HEIJM_CFD.NL",
    "BWXT_CFD.US",
    "CRDA_CFD.UK",
    "JEN_CFD.DE",
    "IFX_CFD.DE",
    "SZG_CFD.DE",
    "GXI_CFD.DE",
    "KBX_CFD.DE",
    "BESI_CFD.NL",
    "ASM_CFD.NL",
    "FBIN_CFD.US",
    "KGX_CFD.DE",
    "NXT_CFD.UK",
    "DELL_CFD.US",
    "SGL_CFD.DE",
    "GFT_CFD.DE",
    "DCC_CFD.UK",
    "LGEN_CFD.UK",
    "AML_CFD.UK"
  ]
}
Outputs
{
  "actions": {
    "buy": [
      {
        "reason": "highest mean-reversion score 98, deeply oversold (-29.7% 1d, -28.6% below MA50, -47.2% below MA200, 145% vol)",
        "symbol": "GO_CFD.US",
        "position_size": 3000
      },
      {
        "reason": "strong score 85, oversold (-13.7% below MA50, -30.3% below MA200, 123% vol)",
        "symbol": "DKNG_CFD.US",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "modest profit (+48), hold for continuation",
        "symbol": "BIG_CFD.FR"
      },
      {
        "reason": "flat but stable (pnl 0), no sell signal",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "solid profit (+101), retain",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "profit (+35), US holding with positive pnl, hold",
        "symbol": "HPP_CFD.US"
      },
      {
        "reason": "strong profit (+401), key winner, hold",
        "symbol": "OKTA_CFD.US"
      },
      {
        "reason": "flat (pnl 0), stable, hold",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "flat (pnl 0), no action needed",
        "symbol": "TRN_CFD.UK"
      },
      {
        "reason": "profit (+79), hold for upside",
        "symbol": "UKW_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "small unrealized loss (-9), weakest performer in portfolio, replace with strong mean-reversion buy",
        "symbol": "SYNT_CFD.UK"
      },
      {
        "reason": "flat performance (pnl 0), no positive momentum, rotate to higher-score oversold candidate",
        "symbol": "THG_CFD.UK"
      }
    ]
  },
  "portfolio_rationale": "Max 10 positions at ~3x leverage maintained. Sold only small loss (SYNT) and flat (THG) to avoid overtrading, replacing with top 2 US oversold candidates (GO, DKNG) for mean-reversion rebound potential. Retained all profitable holdings (e.g., OKTA +401, FUTR +101) and stables as no counter-signals; complies with max 2 buys/sells."
}
Prompts & responses
#863openrouterx-ai/grok-4.1-fast2026-03-05T18:27:57.343862+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": "PAGE_CFD.UK", "name": "PAGEGROUP PLC", "sector": "", "last_price": 205.8, "change_1d_pct": -13.091216216216218, "distance_from_ma200_pct": -20.507377691735872, "distance_from_ma50_pct": -9.456474873951793, "volatility_20d_pct": 113.15149478988747, "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": 30.54, "change_1d_pct": 21.867517956903427, "distance_from_ma200_pct": 10.17176911546931, "distance_from_ma50_pct": 28.667486813057195, "volatility_20d_pct": 211.42235702559637, "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": "TRN_CFD.UK", "name": "TRAINLINE PLC", "sector": "", "last_price": 206.0, "change_1d_pct": -12.93322062552832, "distance_from_ma200_pct": -22.557701091522887, "distance_from_ma50_pct": -12.560104316644482, "volatility_20d_pct": 131.09279103846345, "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": "STAN_CFD.UK", "name": "", "sector": "", "last_price": 1842.0, "change_1d_pct": 0.3541269408880332, "distance_from_ma200_pct": 31.43986196388351, "distance_from_ma50_pct": 4.292113036344269, "volatility_20d_pct": 75.84142956557304, "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": "SGRO_CFD.UK", "name": "", "sector": "", "last_price": 838.6, "change_1d_pct": 14.312977099236646, "distance_from_ma200_pct": 23.337223471135403, "distance_from_ma50_pct": 14.881685289390623, "volatility_20d_pct": 61.79400737887707, "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": 2960.0, "change_1d_pct": 9.023941068139973, "distance_from_ma200_pct": 12.939755835694466, "distance_from_ma50_pct": 17.95826987098712, "volatility_20d_pct": 137.0123103901981, "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": 759.18, "change_1d_pct": 5.222453222453205, "distance_from_ma200_pct": 33.313724414201815, "distance_from_ma50_pct": 8.832962232591, "volatility_20d_pct": 54.25956465831767, "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": "JCQ_CFD.FR", "name": "", "sector": "", "last_price": 23.15, "change_1d_pct": -2.7310924369748024, "distance_from_ma200_pct": 12.41703173875155, "distance_from_ma50_pct": 2.726261802426566, "volatility_20d_pct": 60.277859704178006, "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": 147.2, "change_1d_pct": 2.364394993045882, "distance_from_ma200_pct": 5.210906053879838, "distance_from_ma50_pct": 3.8182841489510233, "volatility_20d_pct": 60.09537427211038, "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": "DUE_CFD.DE", "name": "DUERR AG", "sector": "", "last_price": 21.714, "change_1d_pct": -1.3000000000000012, "distance_from_ma200_pct": -0.1738475616862356, "distance_from_ma50_pct": -6.2186607330268036, "volatility_20d_pct": 73.1874204532971, "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": "GDS_CFD.FR", "name": "", "sector": "", "last_price": 11.0, "change_1d_pct": 8.910891089108919, "distance_from_ma200_pct": 9.730830273339496, "distance_from_ma50_pct": 11.668324772095096, "volatility_20d_pct": 113.97071668246626, "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": "DPLM_CFD.UK", "name": "DIPLOMA PLC", "sector": "", "last_price": 5510.0, "change_1d_pct": 0.7312614259597838, "distance_from_ma200_pct": 11.035071455048428, "distance_from_ma50_pct": 0.39717925834363843, "volatility_20d_pct": 72.46279741195445, "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": "ATG_CFD.UK", "name": "AUCTION TECHNOLOGY GROUP", "sector": "", "last_price": 305.0, "change_1d_pct": 4.2735042735042805, "distance_from_ma200_pct": -30.344980756373573, "distance_from_ma50_pct": -1.1704016694101371, "volatility_20d_pct": 159.9931345477538, "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": "GO_CFD.US", "name": "Grocery Outlet Holding Corp", "sector": "", "last_price": 6.95, "change_1d_pct": -29.726996966632967, "distance_from_ma200_pct": -47.21211614853522, "distance_from_ma50_pct": -28.605181517473753, "volatility_20d_pct": 144.92553547550253, "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": "DKNG_CFD.US", "name": "DraftKings Inc", "sector": "", "last_price": 25.28, "change_1d_pct": 7.3916737468139315, "distance_from_ma200_pct": -30.316278095385098, "distance_from_ma50_pct": -13.724258909130615, "volatility_20d_pct": 122.98781345207111, "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": "S92_CFD.DE", "name": "SMA Solar Technology AG", "sector": "", "last_price": 30.581, "change_1d_pct": -0.7754704737183649, "distance_from_ma200_pct": 15.793917799608836, "distance_from_ma50_pct": -10.66337142723598, "volatility_20d_pct": 109.31196707077659, "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": "PZC_CFD.UK", "name": "PZ CUSSONS PLC", "sector": "", "last_price": 81.9, "change_1d_pct": -10.295728368017521, "distance_from_ma200_pct": 8.408114857007853, "distance_from_ma50_pct": 8.138797929650377, "volatility_20d_pct": 91.01714564624595, "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": "GE_CFD.US", "name": "", "sector": "", "last_price": 332.45, "change_1d_pct": -2.018862363689955, "distance_from_ma200_pct": 15.414050727677875, "distance_from_ma50_pct": 4.117862234326419, "volatility_20d_pct": 58.43863281441, "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": "DEZ_CFD.DE", "name": "Deutz AG", "sector": "", "last_price": 11.43, "change_1d_pct": -2.748234493320856, "distance_from_ma200_pct": 28.577430779952028, "distance_from_ma50_pct": 6.720496871212722, "volatility_20d_pct": 63.33215953962345, "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": "FTK_CFD.DE", "name": "flatexDEGIRO SE", "sector": "", "last_price": 32.68, "change_1d_pct": 3.811944091486663, "distance_from_ma200_pct": 7.64851245435314, "distance_from_ma50_pct": -10.033123667565235, "volatility_20d_pct": 99.14175758989846, "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": "FUTR_CFD.UK", "name": "FUTURE PLC", "sector": "", "last_price": 423.6, "change_1d_pct": -20.82242990654205, "distance_from_ma200_pct": -37.68377383888033, "distance_from_ma50_pct": -24.301477407850992, "volatility_20d_pct": 153.59085037557008, "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": 1357.5, "change_1d_pct": -5.7945870922970215, "distance_from_ma200_pct": 7.117506563265197, "distance_from_ma50_pct": -3.4561764293393082, "volatility_20d_pct": 95.36755933522754, "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": "FR_CFD.FR", "name": "Valeo S.A.", "sector": "", "last_price": 11.223, "change_1d_pct": -0.6814159292035438, "distance_from_ma200_pct": 3.1639519064602606, "distance_from_ma50_pct": -8.579350972856458, "volatility_20d_pct": 81.33025979244564, "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": 221.9, "change_1d_pct": -21.312056737588648, "distance_from_ma200_pct": -14.06664037160078, "distance_from_ma50_pct": -3.1767959417158487, "volatility_20d_pct": 240.9598068877464, "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": "IMB_CFD.UK", "name": "IMPERIAL BRANDS PLC", "sector": "", "last_price": 3243.0, "change_1d_pct": -0.030826140567197235, "distance_from_ma200_pct": 5.813390271791619, "distance_from_ma50_pct": 3.097699614694993, "volatility_20d_pct": 40.650222365651004, "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": "JBLU_CFD.US", "name": "JETBLUE AIRWAYS CORP", "sector": "", "last_price": 4.73, "change_1d_pct": -14.620938628158841, "distance_from_ma200_pct": -2.417890741046369, "distance_from_ma50_pct": -10.785016409521276, "volatility_20d_pct": 135.17712671245644, "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": "TKA_CFD.DE", "name": "", "sector": "", "last_price": 9.666, "change_1d_pct": 2.102038660610539, "distance_from_ma200_pct": -3.4659769001453067, "distance_from_ma50_pct": -8.59539894240735, "volatility_20d_pct": 91.60155466020963, "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": "ADJ_CFD.DE", "name": "ADLER GROUP SA", "sector": "", "last_price": 0.19, "change_1d_pct": -4.522613065326642, "distance_from_ma200_pct": -9.336005535275438, "distance_from_ma50_pct": -1.8493646037813782, "volatility_20d_pct": 302.6270986950585, "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": "HEIJM_CFD.NL", "name": "", "sector": "", "last_price": 84.6, "change_1d_pct": 2.3593466424682186, "distance_from_ma200_pct": 35.53736962338394, "distance_from_ma50_pct": 12.764336399208132, "volatility_20d_pct": 114.8390839317997, "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": "BWXT_CFD.US", "name": "BWX Technologies Inc", "sector": "", "last_price": 200.75, "change_1d_pct": -1.8817204301075252, "distance_from_ma200_pct": 15.25264729446203, "distance_from_ma50_pct": 0.6718813781842581, "volatility_20d_pct": 92.87459115341751, "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": "CRDA_CFD.UK", "name": "CRODA INTERNATIONAL PLC", "sector": "", "last_price": 2911.0, "change_1d_pct": 7.140228192859777, "distance_from_ma200_pct": 2.730273162831298, "distance_from_ma50_pct": 2.4574080225663986, "volatility_20d_pct": 116.57501877935547, "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": "JEN_CFD.DE", "name": "", "sector": "", "last_price": 28.64, "change_1d_pct": 7.4268567141785535, "distance_from_ma200_pct": 41.99950072102925, "distance_from_ma50_pct": 17.901323508223044, "volatility_20d_pct": 74.92489806433011, "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": "IFX_CFD.DE", "name": "", "sector": "", "last_price": 43.646, "change_1d_pct": 2.9726796583777526, "distance_from_ma200_pct": 19.03638510776986, "distance_from_ma50_pct": 3.585846479538435, "volatility_20d_pct": 61.633455396081736, "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": "SZG_CFD.DE", "name": "Salzgitter AG", "sector": "", "last_price": 50.25, "change_1d_pct": 0.5321702944942386, "distance_from_ma200_pct": 58.21656399907242, "distance_from_ma50_pct": 3.059080643269141, "volatility_20d_pct": 101.74691694651588, "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": "GXI_CFD.DE", "name": "GERRESHEIMER AG", "sector": "", "last_price": 17.966, "change_1d_pct": 14.725415070242654, "distance_from_ma200_pct": -49.1749846210904, "distance_from_ma50_pct": -24.764359931724258, "volatility_20d_pct": 234.08732547419734, "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": "KBX_CFD.DE", "name": "", "sector": "", "last_price": 107.0, "change_1d_pct": 1.904761904761898, "distance_from_ma200_pct": 19.320630704320706, "distance_from_ma50_pct": 4.476638437795, "volatility_20d_pct": 49.68442531513264, "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": "BESI_CFD.NL", "name": "BE SEMICONDUCTOR INDUSTRIES", "sector": "", "last_price": 193.44, "change_1d_pct": 8.4913067863152, "distance_from_ma200_pct": 41.10400314770468, "distance_from_ma50_pct": 15.007928198524256, "volatility_20d_pct": 85.67853186666386, "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": "ASM_CFD.NL", "name": "ASM International NV", "sector": "", "last_price": 725.982, "change_1d_pct": 3.7677488701041373, "distance_from_ma200_pct": 35.30853907513016, "distance_from_ma50_pct": 9.053716836595882, "volatility_20d_pct": 69.29437779862882, "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": "FBIN_CFD.US", "name": "Fortune Brands Innovations Inc.", "sector": "", "last_price": 49.95, "change_1d_pct": -8.432630614115478, "distance_from_ma200_pct": -6.939222649074228, "distance_from_ma50_pct": -10.202570058175075, "volatility_20d_pct": 139.31617121917984, "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": "KGX_CFD.DE", "name": "KION GROUP AG", "sector": "", "last_price": 52.95, "change_1d_pct": -0.656660412757959, "distance_from_ma200_pct": -7.3274334424576875, "distance_from_ma50_pct": -16.48971001820666, "volatility_20d_pct": 88.527731407205, "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": "NXT_CFD.UK", "name": "NEXT PLC", "sector": "", "last_price": 13225.0, "change_1d_pct": -5.603140613847257, "distance_from_ma200_pct": 4.116518358426768, "distance_from_ma50_pct": -3.780207539944458, "volatility_20d_pct": 72.99366321435181, "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": "DELL_CFD.US", "name": "DELL TECHNOLOGIES -C", "sector": "", "last_price": 148.16, "change_1d_pct": 0.6521739130434856, "distance_from_ma200_pct": 14.351604943607587, "distance_from_ma50_pct": 20.369557940848626, "volatility_20d_pct": 141.23660705754838, "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": "SGL_CFD.DE", "name": "SGL Carbon SE", "sector": "", "last_price": 3.99, "change_1d_pct": 3.475103734439844, "distance_from_ma200_pct": 15.838186537222088, "distance_from_ma50_pct": 2.856789321454545, "volatility_20d_pct": 83.02913938763913, "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": "GFT_CFD.DE", "name": "", "sector": "", "last_price": 18.054, "change_1d_pct": 21.005361930294896, "distance_from_ma200_pct": -5.472950703154222, "distance_from_ma50_pct": -2.2658472891683767, "volatility_20d_pct": 91.79751049921435, "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": "DCC_CFD.UK", "name": "DCC PLC", "sector": "", "last_price": 4880.0, "change_1d_pct": 12.235510579576815, "distance_from_ma200_pct": 1.3673868483688123, "distance_from_ma50_pct": 1.2134077235287588, "volatility_20d_pct": 97.80708435693202, "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": "LGEN_CFD.UK", "name": "", "sector": "", "last_price": 262.78, "change_1d_pct": -4.3392792136876635, "distance_from_ma200_pct": 4.419531435333424, "distance_from_ma50_pct": -0.9270883995189272, "volatility_20d_pct": 51.67078455235858, "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": 45.17, "change_1d_pct": -14.853911404335529, "distance_from_ma200_pct": -34.955064706534586, "distance_from_ma50_pct": -24.17986007600478, "volatility_20d_pct": 124.9610443191448, "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": "GO_CFD.US",
      "selection_reason": "-29.7% 1d change, -28.6% below MA50, -47.2% below MA200, 145% vol20d",
      "mean_reversion_score": 98
    },
    {
      "symbol": "DELL_CFD.US",
      "selection_reason": "+20.4% above MA50, +14.4% above MA200, 141% vol20d overbought",
      "mean_reversion_score": 90
    },
    {
      "symbol": "DKNG_CFD.US",
      "selection_reason": "-13.7% below MA50, -30.3% below MA200, 123% vol20d",
      "mean_reversion_score": 85
    },
    {
      "symbol": "JBLU_CFD.US",
      "selection_reason": "-14.6% 1d change, -10.8% below MA50, 135% vol20d",
      "mean_reversion_score": 82
    },
    {
      "symbol": "FBIN_CFD.US",
      "selection_reason": "-8.4% 1d change, -10.2% below MA50, -6.9% below MA200, 139% vol20d",
      "mean_reversion_score": 80
    }
  ],
  "rejected_common_reasons": [
    "Non-US symbols",
    "Low |distance_from_ma50_pct| <10%",
    "Low volatility_20d_pct| <100%",
    "Insufficient 1d price deviation"
  ]
}
#864openrouterx-ai/grok-4.1-fast2026-03-05T18:28:27.551924+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": "AML_CFD.UK", "qty": 0.0, "avg_price": 39.92, "last_price": 42.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "ARCAD_CFD.NL", "qty": 0.0, "avg_price": 29.7, "last_price": 28.06, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "BIG_CFD.FR", "qty": 9615.384615384615, "avg_price": 0.312, "last_price": 0.317, "unrealized_pnl": 48.076923076923116, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "BXP_CFD.US", "qty": 0.0, "avg_price": 60.835, "last_price": 59.405, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T17:33:48.338981+00:00"}, {"symbol": "BYIT_CFD.UK", "qty": 10.252904989747094, "avg_price": 292.6, "last_price": 292.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T17:57:28.313088+00:00"}, {"symbol": "CABO_CFD.US", "qty": 0.0, "avg_price": 94.6, "last_price": 96.44, "unrealized_pnl": 58.3509513742073, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "CAR_CFD.US", "qty": 0.0, "avg_price": 92.465, "last_price": 97.54, "unrealized_pnl": 164.65689720434767, "opened_at": "2026-02-25T17:57:28.313088+00:00"}, {"symbol": "COIN_CFD.US", "qty": 0.0, "avg_price": 168.575, "last_price": 171.13, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "CRWD_CFD.US", "qty": 0.0, "avg_price": 350.79999999999995, "last_price": 350.055, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "ESTC_CFD.US", "qty": 0.0, "avg_price": 58.085, "last_price": 55.28, "unrealized_pnl": -144.87389171042437, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "EXPO_CFD.US", "qty": 0.0, "avg_price": 66.815, "last_price": 70.025, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "FBIN_CFD.US", "qty": 0.0, "avg_price": 50.974999999999994, "last_price": 54.35, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "FICO_CFD.US", "qty": 0.0, "avg_price": 1208.505, "last_price": 1405.2800000000002, "unrealized_pnl": 0.0, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "FLO_CFD.US", "qty": 0.0, "avg_price": 9.875, "last_price": 10.055, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "FUTR_CFD.UK", "qty": 7.488766849725412, "avg_price": 400.6, "last_price": 414.2, "unrealized_pnl": 101.84722915626534, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "HAIN_CFD.US", "qty": 0.0, "avg_price": 0.8, "last_price": 0.8, "unrealized_pnl": 0.0, "opened_at": "2026-02-27T18:23:55.960577+00:00"}, {"symbol": "HIK_CFD.UK", "qty": 0.0, "avg_price": 1275.0, "last_price": 1342.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "HPP_CFD.US", "qty": 395.25691699604744, "avg_price": 7.59, "last_price": 7.68, "unrealized_pnl": 35.573122529644216, "opened_at": "2026-03-04T18:49:26.891792+00:00"}, {"symbol": "ICG_CFD.UK", "qty": 0.0, "avg_price": 1700.0, "last_price": 1719.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "JUN3_CFD.DE", "qty": 0.0, "avg_price": 31.51, "last_price": 30.167, "unrealized_pnl": 0.0, "opened_at": "2026-03-02T10:31:26.559356+00:00"}, {"symbol": "LMND_CFD.US", "qty": 0.0, "avg_price": 61.5, "last_price": 59.89, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "LPX_CFD.US", "qty": 0.0, "avg_price": 86.45, "last_price": 86.15, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "NET_CFD.US", "qty": 0.0, "avg_price": 176.96, "last_price": 164.32, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}, {"symbol": "OCDO_CFD.UK", "qty": 13.824884792626728, "avg_price": 217.0, "last_price": 217.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "OKTA_CFD.US", "qty": 42.747221430607006, "avg_price": 70.18, "last_price": 79.58, "unrealized_pnl": 401.8238814477055, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "PAYC_CFD.US", "qty": 0.0, "avg_price": 121.22, "last_price": 119.79, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "PROX_CFD.BE", "qty": 0.0, "avg_price": 6.98, "last_price": 7.68, "unrealized_pnl": 0.0, "opened_at": "2026-02-28T10:51:05.818250+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-19T09:33:49.074031+00:00"}, {"symbol": "SYNT_CFD.UK", "qty": 163.0434782608696, "avg_price": 18.4, "last_price": 18.34, "unrealized_pnl": -9.782608695651968, "opened_at": "2026-03-03T18:03:34.247734+00:00"}, {"symbol": "THG_CFD.UK", "qty": 85.76329331046313, "avg_price": 34.98, "last_price": 34.98, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "TRN_CFD.UK", "qty": 16.260162601626018, "avg_price": 184.5, "last_price": 184.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+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-18T09:36:37.284518+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 32.48511099079589, "avg_price": 92.35, "last_price": 94.79, "unrealized_pnl": 79.26367081754236, "opened_at": "2026-02-23T10:32:09.961595+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-28T10:51:05.818250+00:00"}, {"symbol": "ZS_CFD.US", "qty": 0.0, "avg_price": 159.76, "last_price": 144.45, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}], "candidates": [{"symbol": "GO_CFD.US", "mean_reversion_score": 98, "selection_reason": "-29.7% 1d change, -28.6% below MA50, -47.2% below MA200, 145% vol20d"}, {"symbol": "DELL_CFD.US", "mean_reversion_score": 90, "selection_reason": "+20.4% above MA50, +14.4% above MA200, 141% vol20d overbought"}, {"symbol": "DKNG_CFD.US", "mean_reversion_score": 85, "selection_reason": "-13.7% below MA50, -30.3% below MA200, 123% vol20d"}, {"symbol": "JBLU_CFD.US", "mean_reversion_score": 82, "selection_reason": "-14.6% 1d change, -10.8% below MA50, 135% vol20d"}, {"symbol": "FBIN_CFD.US", "mean_reversion_score": 80, "selection_reason": "-8.4% 1d change, -10.2% below MA50, -6.9% below MA200, 139% vol20d"}], "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": "highest mean-reversion score 98, deeply oversold (-29.7% 1d, -28.6% below MA50, -47.2% below MA200, 145% vol)",
        "symbol": "GO_CFD.US",
        "position_size": 3000
      },
      {
        "reason": "strong score 85, oversold (-13.7% below MA50, -30.3% below MA200, 123% vol)",
        "symbol": "DKNG_CFD.US",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "modest profit (+48), hold for continuation",
        "symbol": "BIG_CFD.FR"
      },
      {
        "reason": "flat but stable (pnl 0), no sell signal",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "solid profit (+101), retain",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "profit (+35), US holding with positive pnl, hold",
        "symbol": "HPP_CFD.US"
      },
      {
        "reason": "strong profit (+401), key winner, hold",
        "symbol": "OKTA_CFD.US"
      },
      {
        "reason": "flat (pnl 0), stable, hold",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "flat (pnl 0), no action needed",
        "symbol": "TRN_CFD.UK"
      },
      {
        "reason": "profit (+79), hold for upside",
        "symbol": "UKW_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "small unrealized loss (-9), weakest performer in portfolio, replace with strong mean-reversion buy",
        "symbol": "SYNT_CFD.UK"
      },
      {
        "reason": "flat performance (pnl 0), no positive momentum, rotate to higher-score oversold candidate",
        "symbol": "THG_CFD.UK"
      }
    ]
  },
  "portfolio_rationale": "Max 10 positions at ~3x leverage maintained. Sold only small loss (SYNT) and flat (THG) to avoid overtrading, replacing with top 2 US oversold candidates (GO, DKNG) for mean-reversion rebound potential. Retained all profitable holdings (e.g., OKTA +401, FUTR +101) and stables as no counter-signals; complies with max 2 buys/sells."
}
Selection logs
#429stage12026-03-05T18:28:27.549204+00:00
{
  "selected_stocks": [
    {
      "symbol": "GO_CFD.US",
      "selection_reason": "-29.7% 1d change, -28.6% below MA50, -47.2% below MA200, 145% vol20d",
      "mean_reversion_score": 98
    },
    {
      "symbol": "DELL_CFD.US",
      "selection_reason": "+20.4% above MA50, +14.4% above MA200, 141% vol20d overbought",
      "mean_reversion_score": 90
    },
    {
      "symbol": "DKNG_CFD.US",
      "selection_reason": "-13.7% below MA50, -30.3% below MA200, 123% vol20d",
      "mean_reversion_score": 85
    },
    {
      "symbol": "JBLU_CFD.US",
      "selection_reason": "-14.6% 1d change, -10.8% below MA50, 135% vol20d",
      "mean_reversion_score": 82
    },
    {
      "symbol": "FBIN_CFD.US",
      "selection_reason": "-8.4% 1d change, -10.2% below MA50, -6.9% below MA200, 139% vol20d",
      "mean_reversion_score": 80
    }
  ],
  "rejected_common_reasons": [
    "Non-US symbols",
    "Low |distance_from_ma50_pct| <10%",
    "Low volatility_20d_pct| <100%",
    "Insufficient 1d price deviation"
  ]
}