Arena run #211

meanrev-v1anthropicanthropic/claude-opus-4.6USsuccess
Arena
Run status
as_of: 2026-02-20T17:33:34.647633+00:00
started_at: 2026-02-20T17:40:00.594314+00:00
finished_at: 2026-02-20T17:40:39.164865+00:00
duration_ms: 38569
Inputs
{
  "dry_run": false,
  "selected": [
    {
      "symbol": "BYIT_CFD.UK",
      "selection_reason": "Sharp -12.7% 1d drop, -28% below MA200, -14.3% below MA50; moderate volatility (88%) suggests oversold bounce likely within 2-10 days",
      "mean_reversion_score": 78
    },
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "-11% 1d drop, -19.3% below MA200, -8.4% below MA50; volatility (113%) manageable; significant dislocation from moving averages supports reversion",
      "mean_reversion_score": 74
    },
    {
      "symbol": "AMH_CFD.US",
      "selection_reason": "-3% 1d drop, -9.4% below MA200, -2.4% below MA50; lowest volatility in candidate set (45%) gives favorable risk/reward for mean reversion",
      "mean_reversion_score": 72
    },
    {
      "symbol": "CRWD_CFD.US",
      "selection_reason": "Mild -0.6% 1d decline, -9.4% below MA200, -6.3% below MA50; moderate volatility (100%); liquid large-cap with steady drift below both MAs primed for snapback",
      "mean_reversion_score": 68
    },
    {
      "symbol": "AYI_CFD.US",
      "selection_reason": "-3.4% below MA200, -7.2% below MA50 with low volatility (53%); orderly pullback in liquid industrial name; tight vol supports controlled reversion trade",
      "mean_reversion_score": 66
    }
  ],
  "universe_symbols": [
    "UKW_CFD.UK",
    "FUTR_CFD.UK",
    "BIG_CFD.FR",
    "LIO_CFD.UK",
    "ATG_CFD.UK",
    "EZJ_CFD.UK",
    "BYIT_CFD.UK",
    "WKP_CFD.UK",
    "PZC_CFD.UK",
    "AMH_CFD.US",
    "OCDO_CFD.UK",
    "COIN_CFD.US",
    "FSLR_CFD.US",
    "PNN_CFD.UK",
    "HMSO_CFD.UK",
    "MSLH_CFD.UK",
    "PAGE_CFD.UK",
    "ESTC_CFD.US",
    "RMV_CFD.UK",
    "RHK_CFD.DE",
    "EXM_CFD.BE",
    "IPR_CFD.PT",
    "GRI_CFD.UK",
    "GMM_CFD.DE",
    "THG_CFD.UK",
    "ETSY_CFD.US",
    "CBRE_CFD.US",
    "FLEX_CFD.US",
    "DOM_CFD.UK",
    "CC_CFD.US",
    "LYV_CFD.US",
    "FIVE_CFD.US",
    "AMD_CFD.US",
    "AYI_CFD.US",
    "CW_CFD.US",
    "MCG_CFD.UK",
    "CRWD_CFD.US",
    "MKS_CFD.UK",
    "AEO_CFD.US",
    "KSS_CFD.US",
    "CGNX_CFD.US",
    "CE_CFD.US",
    "TFF_CFD.FR",
    "RS1_CFD.UK",
    "FND_CFD.US",
    "MNDI_CFD.UK",
    "IGG_CFD.UK",
    "AAF_CFD.UK",
    "EME_CFD.US",
    "CRST_CFD.UK"
  ]
}
Outputs
{
  "actions": {
    "buy": [
      {
        "reason": "Score 72 with lowest volatility (45%) in candidate set. -9.4% below MA200, -2.4% below MA50; favorable risk/reward for controlled mean reversion. Not currently held.",
        "symbol": "AMH_CFD.US",
        "position_size": 3000
      },
      {
        "reason": "Score 68, liquid large-cap trading -9.4% below MA200 and -6.3% below MA50. Steady drift below both MAs creates snapback opportunity. Moderate volatility (100%) acceptable for the setup.",
        "symbol": "CRWD_CFD.US",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Recently opened, essentially flat with minimal PnL. No reason to exit yet; allow time for mean reversion to play out.",
        "symbol": "AML_CFD.UK"
      },
      {
        "reason": "Already held and candidate has top mean reversion score (78). Flat PnL; hold for expected bounce from deeply oversold levels (-28% below MA200).",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "Strong unrealized gain of +$142 (+4.7%). Momentum still favorable; hold to capture further reversion toward moving averages.",
        "symbol": "CCC_CFD.UK"
      },
      {
        "reason": "Modest gain of +$34. Small position, still in early reversion phase. Hold.",
        "symbol": "ICG_CFD.UK"
      },
      {
        "reason": "Minor loss of -$11, essentially flat. Position is near entry; allow time for reversion thesis to develop.",
        "symbol": "MTG_CFD.US"
      },
      {
        "reason": "Flat at entry price. Recently opened; no signal to exit. Hold for reversion.",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "Flat at entry and candidate reaffirmed with score 74 (-11% 1d drop, -19.3% below MA200). Strong reversion setup; hold.",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "Unrealized gain +$68 (+2.3%). Reversion progressing well. Hold.",
        "symbol": "SGE_CFD.UK"
      },
      {
        "reason": "Solid unrealized gain +$135 (+4.5%). Reversion playing out; hold for further upside toward MA levels.",
        "symbol": "STZ_CFD.US"
      },
      {
        "reason": "Small loss of -$30, recently opened. Allow time for reversion from current dislocation.",
        "symbol": "ZAL_CFD.DE"
      }
    ],
    "sell": [
      {
        "reason": "Strong mean reversion already realized: +15.1% gain from avg_price 44.13 to 50.815, unrealized PnL +$454. Position has likely completed its reversion cycle; lock in profits.",
        "symbol": "ETSY_CFD.US"
      },
      {
        "reason": "Position moving against us with -$120 unrealized loss, price continuing to drift lower from 86.45 to 82.99 (-4%). No clear reversion signal; cut loss to free capital for higher-conviction candidates.",
        "symbol": "LPX_CFD.US"
      }
    ]
  },
  "portfolio_rationale": "Selling ETSY (profit-taking after +15% reversion completed) and LPX (cutting loss on deteriorating position) to free capital. Holding 10 existing positions where reversion thesis remains intact or is too early to judge. Adding AMH (low-vol, clean pullback) and CRWD (liquid large-cap below both MAs) as the two highest-conviction new candidates not already in portfolio. Post-trade portfolio will have ~12 active positions (within max 10 non-zero after removing 2 zero-qty ghosts LSS/TMV and selling 2), maintaining gross leverage well within 3.0x limit. Prioritizing patience on existing holdings to avoid overtrading."
}
Prompts & responses
#409openrouteranthropic/claude-opus-4.62026-02-20T17:40:00.686424+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": "UKW_CFD.UK", "name": "GREENCOAT UK WIND PLC", "sector": "", "last_price": 98.15, "change_1d_pct": -2.163078149920239, "distance_from_ma200_pct": -12.46829595436757, "distance_from_ma50_pct": -6.845149398930528, "volatility_20d_pct": 32.62462101640031, "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": 422.0, "change_1d_pct": -13.70143149284253, "distance_from_ma200_pct": -38.122509366851766, "distance_from_ma50_pct": -25.139370269544393, "volatility_20d_pct": 146.49494054552733, "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": "BIG_CFD.FR", "name": "Bigben Interactive", "sector": "", "last_price": 0.473, "change_1d_pct": -40.65244667503137, "distance_from_ma200_pct": -57.481044006670004, "distance_from_ma50_pct": -45.84258856396987, "volatility_20d_pct": 245.7660340614924, "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": "LIO_CFD.UK", "name": "LIONTRUST ASSET MANAGEMENT", "sector": "", "last_price": 259.0, "change_1d_pct": 0.19342359767891004, "distance_from_ma200_pct": -20.670350849922237, "distance_from_ma50_pct": -0.35817197640911624, "volatility_20d_pct": 128.03912578370827, "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": "EZJ_CFD.UK", "name": "EASYJET PLC", "sector": "", "last_price": 487.6, "change_1d_pct": -1.6142050040355072, "distance_from_ma200_pct": -2.529174031700998, "distance_from_ma50_pct": -0.5931384801188377, "volatility_20d_pct": 77.17417093400987, "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": 300.4, "change_1d_pct": -12.674418604651173, "distance_from_ma200_pct": -28.03446775272175, "distance_from_ma50_pct": -14.34777426817815, "volatility_20d_pct": 87.82535981934274, "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": "WKP_CFD.UK", "name": "WORKSPACE GROUP PLC", "sector": "", "last_price": 423.0, "change_1d_pct": 3.6764705882353033, "distance_from_ma200_pct": 1.8640028868691871, "distance_from_ma50_pct": 5.808194506978848, "volatility_20d_pct": 70.2233148398582, "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": 88.8, "change_1d_pct": -1.442841287458374, "distance_from_ma200_pct": 17.468164209381708, "distance_from_ma50_pct": 17.734408145948244, "volatility_20d_pct": 83.4578314576364, "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": "AMH_CFD.US", "name": "American Homes 4 Rent", "sector": "", "last_price": 30.66, "change_1d_pct": -3.005378044922491, "distance_from_ma200_pct": -9.378685370243932, "distance_from_ma50_pct": -2.371611982881605, "volatility_20d_pct": 45.16643539940158, "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": "COIN_CFD.US", "name": "Coinbase Global Inc", "sector": "", "last_price": 171.33, "change_1d_pct": 4.189978107516423, "distance_from_ma200_pct": -40.710631511539766, "distance_from_ma50_pct": -21.46316061615642, "volatility_20d_pct": 143.33354663970158, "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": "FSLR_CFD.US", "name": "", "sector": "", "last_price": 243.46, "change_1d_pct": 7.902317954172777, "distance_from_ma200_pct": 14.390693128852817, "distance_from_ma50_pct": -1.313176024606444, "volatility_20d_pct": 122.09693651594414, "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": 555.5, "change_1d_pct": 7.728110152235046, "distance_from_ma200_pct": 15.15330418465657, "distance_from_ma50_pct": 10.049118953291236, "volatility_20d_pct": 59.72600720990832, "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": "HMSO_CFD.UK", "name": "", "sector": "", "last_price": 355.4, "change_1d_pct": 14.129736673089276, "distance_from_ma200_pct": 22.516025502913806, "distance_from_ma50_pct": 10.006914897239172, "volatility_20d_pct": 87.54938293511039, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MSLH_CFD.UK", "name": "", "sector": "", "last_price": 182.32, "change_1d_pct": 0.8407079646017612, "distance_from_ma200_pct": -17.111863069088763, "distance_from_ma50_pct": 6.139091576985178, "volatility_20d_pct": 102.4204512350097, "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": 209.6, "change_1d_pct": -10.960067969413767, "distance_from_ma200_pct": -19.313052268665963, "distance_from_ma50_pct": -8.41066281665177, "volatility_20d_pct": 112.6882126676479, "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": "ESTC_CFD.US", "name": "Elastic NV", "sector": "", "last_price": 62.58, "change_1d_pct": 1.6404092902387424, "distance_from_ma200_pct": -22.854221228896023, "distance_from_ma50_pct": -11.705696943702149, "volatility_20d_pct": 108.59624685520227, "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": "RMV_CFD.UK", "name": "RIGHTMOVE PLC", "sector": "", "last_price": 431.4, "change_1d_pct": -14.810426540284361, "distance_from_ma200_pct": -37.284210035093366, "distance_from_ma50_pct": -17.526388114623416, "volatility_20d_pct": 137.79982108268825, "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": "RHK_CFD.DE", "name": "", "sector": "", "last_price": 13.1, "change_1d_pct": 0.7769828448342064, "distance_from_ma200_pct": 3.706805818505954, "distance_from_ma50_pct": 1.545034835373027, "volatility_20d_pct": 112.66428846887368, "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": "EXM_CFD.BE", "name": "EXMAR NV", "sector": "", "last_price": 10.16, "change_1d_pct": 3.1472081218274273, "distance_from_ma200_pct": -8.5278841401216, "distance_from_ma50_pct": 0.656845358986291, "volatility_20d_pct": 89.98945159197974, "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": "IPR_CFD.PT", "name": "Impresa SGPS SA", "sector": "", "last_price": 0.198, "change_1d_pct": 3.125, "distance_from_ma200_pct": 30.576713819368862, "distance_from_ma50_pct": -1.1680143755615324, "volatility_20d_pct": 421.9087433253912, "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": "GRI_CFD.UK", "name": "", "sector": "", "last_price": 192.4, "change_1d_pct": 0.08322929671245038, "distance_from_ma200_pct": -4.9312468607917275, "distance_from_ma50_pct": 0.9128310349964197, "volatility_20d_pct": 71.43116862190418, "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": "GMM_CFD.DE", "name": "", "sector": "", "last_price": 7.5600000000000005, "change_1d_pct": 0.8000000000000007, "distance_from_ma200_pct": 13.48412010402711, "distance_from_ma50_pct": 16.356741149346043, "volatility_20d_pct": 188.43585385392208, "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": "THG_CFD.UK", "name": "THG PLC", "sector": "", "last_price": 35.48, "change_1d_pct": -20.090090090090097, "distance_from_ma200_pct": 4.031971945380275, "distance_from_ma50_pct": -18.256005234564732, "volatility_20d_pct": 150.3458448856807, "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": "ETSY_CFD.US", "name": "Etsy, Inc.", "sector": "", "last_price": 51.43, "change_1d_pct": 12.39073426573427, "distance_from_ma200_pct": -11.637084934406461, "distance_from_ma50_pct": -7.491015314437011, "volatility_20d_pct": 121.10078386667593, "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": "CBRE_CFD.US", "name": "CBRE Group Inc Class A", "sector": "", "last_price": 148.56, "change_1d_pct": 4.553452037441064, "distance_from_ma200_pct": -2.4026514734696636, "distance_from_ma50_pct": -8.574410681580979, "volatility_20d_pct": 100.1448297136033, "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": "FLEX_CFD.US", "name": "", "sector": "", "last_price": 67.01, "change_1d_pct": 4.360691481077739, "distance_from_ma200_pct": 19.979087363969384, "distance_from_ma50_pct": 4.225641280881964, "volatility_20d_pct": 110.75865941087355, "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": "DOM_CFD.UK", "name": "DOMINO'S PIZZA GROUP PLC", "sector": "", "last_price": 202.0, "change_1d_pct": 8.58463688652369, "distance_from_ma200_pct": -7.069225606016771, "distance_from_ma50_pct": 12.253653245130858, "volatility_20d_pct": 71.7523831897994, "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": "CC_CFD.US", "name": "Chemours Co", "sector": "", "last_price": 16.56, "change_1d_pct": -19.14062500000001, "distance_from_ma200_pct": 21.448582366487233, "distance_from_ma50_pct": 9.958699087661515, "volatility_20d_pct": 152.9193005750538, "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": "LYV_CFD.US", "name": "", "sector": "", "last_price": 167.6, "change_1d_pct": 5.975339867214657, "distance_from_ma200_pct": 12.608261992931059, "distance_from_ma50_pct": 15.120643136996303, "volatility_20d_pct": 70.86027677201129, "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": "FIVE_CFD.US", "name": "", "sector": "", "last_price": 215.26, "change_1d_pct": 4.474859250630936, "distance_from_ma200_pct": 40.74427870845581, "distance_from_ma50_pct": 11.005797301743314, "volatility_20d_pct": 65.36321035808058, "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": "AMD_CFD.US", "name": "Advanced Micro Devices Inc", "sector": "", "last_price": 202.27, "change_1d_pct": -2.379343629343622, "distance_from_ma200_pct": 9.918385856627898, "distance_from_ma50_pct": -7.978781482020669, "volatility_20d_pct": 134.54360367478918, "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": "AYI_CFD.US", "name": "Acuity Brands Inc", "sector": "", "last_price": 312.89, "change_1d_pct": 2.2583175370939124, "distance_from_ma200_pct": -3.4408736210798874, "distance_from_ma50_pct": -7.159426809084135, "volatility_20d_pct": 52.54050072312177, "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": "CW_CFD.US", "name": "Curtiss-Wright Corporation", "sector": "", "last_price": 707.75, "change_1d_pct": 3.5388261454736947, "distance_from_ma200_pct": 33.6648435493375, "distance_from_ma50_pct": 14.77225552009549, "volatility_20d_pct": 92.4041036430213, "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": "", "sector": "", "last_price": 23.34, "change_1d_pct": -10.437452033768224, "distance_from_ma200_pct": -15.963814753139205, "distance_from_ma50_pct": -0.07192766132346762, "volatility_20d_pct": 137.63902050046556, "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": "CRWD_CFD.US", "name": "Crowdstrike Holdings Inc", "sector": "", "last_price": 427.32, "change_1d_pct": -0.5654450261780131, "distance_from_ma200_pct": -9.375169661762307, "distance_from_ma50_pct": -6.25386660020868, "volatility_20d_pct": 99.65784899807545, "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": "MKS_CFD.UK", "name": "MARKS & SPENCER GROUP PLC", "sector": "", "last_price": 402.7, "change_1d_pct": 11.181667586968524, "distance_from_ma200_pct": 11.557658785096358, "distance_from_ma50_pct": 15.11180451974623, "volatility_20d_pct": 99.86569172703864, "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": "AEO_CFD.US", "name": "AMERICAN EAGLE OUTFITTERS", "sector": "", "last_price": 24.67, "change_1d_pct": -2.912239275875639, "distance_from_ma200_pct": 45.30141060753306, "distance_from_ma50_pct": -3.043498765936714, "volatility_20d_pct": 78.78284949587598, "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": "KSS_CFD.US", "name": "", "sector": "", "last_price": 18.66, "change_1d_pct": -5.375253549695735, "distance_from_ma200_pct": 24.171937541382317, "distance_from_ma50_pct": -6.560775555577802, "volatility_20d_pct": 101.88329470634108, "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": "CGNX_CFD.US", "name": "Cognex Corporation", "sector": "", "last_price": 55.86, "change_1d_pct": -4.967676080299421, "distance_from_ma200_pct": 43.27099531791618, "distance_from_ma50_pct": 36.59905999501143, "volatility_20d_pct": 229.84501783533221, "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": "CE_CFD.US", "name": "Celanese Corporation", "sector": "", "last_price": 54.06, "change_1d_pct": -8.029942157196324, "distance_from_ma200_pct": 13.42071721924125, "distance_from_ma50_pct": 14.820950681789213, "volatility_20d_pct": 120.28648029834686, "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": "TFF_CFD.FR", "name": "", "sector": "", "last_price": 18.2, "change_1d_pct": 7.058823529411762, "distance_from_ma200_pct": -4.619432847233096, "distance_from_ma50_pct": 2.10401594169074, "volatility_20d_pct": 84.68971432641365, "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": "", "sector": "", "last_price": 733.5, "change_1d_pct": 25.384615384615383, "distance_from_ma200_pct": 27.719246802948703, "distance_from_ma50_pct": 25.132468113824658, "volatility_20d_pct": 102.39099316712235, "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": "FND_CFD.US", "name": "", "sector": "", "last_price": 68.94, "change_1d_pct": -1.7808804673030365, "distance_from_ma200_pct": -5.786015085990426, "distance_from_ma50_pct": 2.246637755616576, "volatility_20d_pct": 101.52514971280668, "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": "MNDI_CFD.UK", "name": "", "sector": "", "last_price": 939.6, "change_1d_pct": 9.817671809256655, "distance_from_ma200_pct": -6.625801707825607, "distance_from_ma50_pct": 4.970291932704618, "volatility_20d_pct": 90.09877279472504, "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": "IGG_CFD.UK", "name": "", "sector": "", "last_price": 1372.0, "change_1d_pct": 11.81744091279544, "distance_from_ma200_pct": 25.343736010743754, "distance_from_ma50_pct": 15.973880518163174, "volatility_20d_pct": 82.27265742988861, "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": 353.8, "change_1d_pct": 7.277137659187383, "distance_from_ma200_pct": 40.183323969288054, "distance_from_ma50_pct": 3.356002710977135, "volatility_20d_pct": 77.24935932192999, "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": "EME_CFD.US", "name": "EMCOR Group Inc", "sector": "", "last_price": 807.55, "change_1d_pct": 0.9323951055506097, "distance_from_ma200_pct": 31.519534734682875, "distance_from_ma50_pct": 17.492408932653003, "volatility_20d_pct": 74.77000338331518, "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": "CRST_CFD.UK", "name": "CREST NICHOLSON HOLDINGS", "sector": "", "last_price": 169.5, "change_1d_pct": 25.18463810930576, "distance_from_ma200_pct": 2.1353827094136912, "distance_from_ma50_pct": 18.261534511436817, "volatility_20d_pct": 158.5020616154255, "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": "BYIT_CFD.UK",
      "selection_reason": "Sharp -12.7% 1d drop, -28% below MA200, -14.3% below MA50; moderate volatility (88%) suggests oversold bounce likely within 2-10 days",
      "mean_reversion_score": 78
    },
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "-11% 1d drop, -19.3% below MA200, -8.4% below MA50; volatility (113%) manageable; significant dislocation from moving averages supports reversion",
      "mean_reversion_score": 74
    },
    {
      "symbol": "AMH_CFD.US",
      "selection_reason": "-3% 1d drop, -9.4% below MA200, -2.4% below MA50; lowest volatility in candidate set (45%) gives favorable risk/reward for mean reversion",
      "mean_reversion_score": 72
    },
    {
      "symbol": "CRWD_CFD.US",
      "selection_reason": "Mild -0.6% 1d decline, -9.4% below MA200, -6.3% below MA50; moderate volatility (100%); liquid large-cap with steady drift below both MAs primed for snapback",
      "mean_reversion_score": 68
    },
    {
      "symbol": "AYI_CFD.US",
      "selection_reason": "-3.4% below MA200, -7.2% below MA50 with low volatility (53%); orderly pullback in liquid industrial name; tight vol supports controlled reversion trade",
      "mean_reversion_score": 66
    }
  ],
  "rejected_common_reasons": [
    "BIG_CFD.FR: -40.7% 1d crash with 246% volatility suggests binary/distressed event, not mean-reversion candidate",
    "OCDO_CFD.UK: -21.3% 1d drop with 241% volatility indicates event-driven collapse, too risky",
    "THG_CFD.UK: -20% 1d drop likely event-driven; high volatility (150%) and price near MA200 reduces reversion conviction",
    "RMV_CFD.UK: -14.8% 1d drop with 138% volatility; extreme distance from MA200 (-37%) suggests structural breakdown not temporary dislocation",
    "FUTR_CFD.UK: -13.7% 1d drop, -38% below MA200, 146% volatility; likely event-driven, catching falling knife risk too high",
    "COIN_CFD.US: Despite -41% below MA200, recent +4.2% bounce and 143% volatility suggest momentum-driven not mean-reverting",
    "CC_CFD.US: -19% 1d drop but price is +21% above MA200; contradictory signals suggest event-driven not technical reversion",
    "Stocks trading well above MA200 (FIVE, CGNX, CW, EME, RS1, IGG, AAF) excluded as not in oversold territory",
    "ETSY_CFD.US: +12.4% 1d surge already partially reverting; entry after large bounce reduces remaining upside"
  ]
}
#410openrouteranthropic/claude-opus-4.62026-02-20T17:40:17.726110+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": 50.847457627118644, "avg_price": 59.0, "last_price": 59.05, "unrealized_pnl": 2.5423728813557878, "opened_at": "2026-02-20T09:33:44.817899+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-18T09:36:37.284518+00:00"}, {"symbol": "CCC_CFD.UK", "qty": 1.0266940451745379, "avg_price": 2922.0, "last_price": 3060.0, "unrealized_pnl": 141.68377823408622, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "ETSY_CFD.US", "qty": 67.98096532970767, "avg_price": 44.13, "last_price": 50.815, "unrealized_pnl": 454.45275322909544, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "ICG_CFD.UK", "qty": 1.7647058823529411, "avg_price": 1700.0, "last_price": 1719.0, "unrealized_pnl": 33.529411764705884, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "LPX_CFD.US", "qty": 34.70213996529786, "avg_price": 86.45, "last_price": 82.99, "unrealized_pnl": -120.06940427993088, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "LSS_CFD.FR", "qty": 0.0, "avg_price": 20.15, "last_price": 19.78, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "MTG_CFD.US", "qty": 114.19870574800153, "avg_price": 26.27, "last_price": 26.17, "unrealized_pnl": -11.41987057479991, "opened_at": "2026-02-19T17:33:27.020111+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-19T17:33:27.020111+00:00"}, {"symbol": "PAGE_CFD.UK", "qty": 14.577259475218659, "avg_price": 205.8, "last_price": 205.8, "unrealized_pnl": 0.0, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "SGE_CFD.UK", "qty": 3.771687201408097, "avg_price": 795.4, "last_price": 813.4, "unrealized_pnl": 67.89036962534574, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "STZ_CFD.US", "qty": 20.124773596297043, "avg_price": 149.07, "last_price": 155.79, "unrealized_pnl": 135.23847856711612, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "TMV_CFD.DE", "qty": 0.0, "avg_price": 4.781, "last_price": 4.769, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "ZAL_CFD.DE", "qty": 142.32849416453175, "avg_price": 21.078, "last_price": 20.87, "unrealized_pnl": -29.604326786222376, "opened_at": "2026-02-20T09:33:44.817899+00:00"}], "candidates": [{"symbol": "BYIT_CFD.UK", "mean_reversion_score": 78, "selection_reason": "Sharp -12.7% 1d drop, -28% below MA200, -14.3% below MA50; moderate volatility (88%) suggests oversold bounce likely within 2-10 days"}, {"symbol": "PAGE_CFD.UK", "mean_reversion_score": 74, "selection_reason": "-11% 1d drop, -19.3% below MA200, -8.4% below MA50; volatility (113%) manageable; significant dislocation from moving averages supports reversion"}, {"symbol": "AMH_CFD.US", "mean_reversion_score": 72, "selection_reason": "-3% 1d drop, -9.4% below MA200, -2.4% below MA50; lowest volatility in candidate set (45%) gives favorable risk/reward for mean reversion"}, {"symbol": "CRWD_CFD.US", "mean_reversion_score": 68, "selection_reason": "Mild -0.6% 1d decline, -9.4% below MA200, -6.3% below MA50; moderate volatility (100%); liquid large-cap with steady drift below both MAs primed for snapback"}, {"symbol": "AYI_CFD.US", "mean_reversion_score": 66, "selection_reason": "-3.4% below MA200, -7.2% below MA50 with low volatility (53%); orderly pullback in liquid industrial name; tight vol supports controlled reversion trade"}], "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": "Score 72 with lowest volatility (45%) in candidate set. -9.4% below MA200, -2.4% below MA50; favorable risk/reward for controlled mean reversion. Not currently held.",
        "symbol": "AMH_CFD.US",
        "position_size": 3000
      },
      {
        "reason": "Score 68, liquid large-cap trading -9.4% below MA200 and -6.3% below MA50. Steady drift below both MAs creates snapback opportunity. Moderate volatility (100%) acceptable for the setup.",
        "symbol": "CRWD_CFD.US",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Recently opened, essentially flat with minimal PnL. No reason to exit yet; allow time for mean reversion to play out.",
        "symbol": "AML_CFD.UK"
      },
      {
        "reason": "Already held and candidate has top mean reversion score (78). Flat PnL; hold for expected bounce from deeply oversold levels (-28% below MA200).",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "Strong unrealized gain of +$142 (+4.7%). Momentum still favorable; hold to capture further reversion toward moving averages.",
        "symbol": "CCC_CFD.UK"
      },
      {
        "reason": "Modest gain of +$34. Small position, still in early reversion phase. Hold.",
        "symbol": "ICG_CFD.UK"
      },
      {
        "reason": "Minor loss of -$11, essentially flat. Position is near entry; allow time for reversion thesis to develop.",
        "symbol": "MTG_CFD.US"
      },
      {
        "reason": "Flat at entry price. Recently opened; no signal to exit. Hold for reversion.",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "Flat at entry and candidate reaffirmed with score 74 (-11% 1d drop, -19.3% below MA200). Strong reversion setup; hold.",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "Unrealized gain +$68 (+2.3%). Reversion progressing well. Hold.",
        "symbol": "SGE_CFD.UK"
      },
      {
        "reason": "Solid unrealized gain +$135 (+4.5%). Reversion playing out; hold for further upside toward MA levels.",
        "symbol": "STZ_CFD.US"
      },
      {
        "reason": "Small loss of -$30, recently opened. Allow time for reversion from current dislocation.",
        "symbol": "ZAL_CFD.DE"
      }
    ],
    "sell": [
      {
        "reason": "Strong mean reversion already realized: +15.1% gain from avg_price 44.13 to 50.815, unrealized PnL +$454. Position has likely completed its reversion cycle; lock in profits.",
        "symbol": "ETSY_CFD.US"
      },
      {
        "reason": "Position moving against us with -$120 unrealized loss, price continuing to drift lower from 86.45 to 82.99 (-4%). No clear reversion signal; cut loss to free capital for higher-conviction candidates.",
        "symbol": "LPX_CFD.US"
      }
    ]
  },
  "portfolio_rationale": "Selling ETSY (profit-taking after +15% reversion completed) and LPX (cutting loss on deteriorating position) to free capital. Holding 10 existing positions where reversion thesis remains intact or is too early to judge. Adding AMH (low-vol, clean pullback) and CRWD (liquid large-cap below both MAs) as the two highest-conviction new candidates not already in portfolio. Post-trade portfolio will have ~12 active positions (within max 10 non-zero after removing 2 zero-qty ghosts LSS/TMV and selling 2), maintaining gross leverage well within 3.0x limit. Prioritizing patience on existing holdings to avoid overtrading."
}
Selection logs
#203stage12026-02-20T17:40:17.722065+00:00
{
  "selected_stocks": [
    {
      "symbol": "BYIT_CFD.UK",
      "selection_reason": "Sharp -12.7% 1d drop, -28% below MA200, -14.3% below MA50; moderate volatility (88%) suggests oversold bounce likely within 2-10 days",
      "mean_reversion_score": 78
    },
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "-11% 1d drop, -19.3% below MA200, -8.4% below MA50; volatility (113%) manageable; significant dislocation from moving averages supports reversion",
      "mean_reversion_score": 74
    },
    {
      "symbol": "AMH_CFD.US",
      "selection_reason": "-3% 1d drop, -9.4% below MA200, -2.4% below MA50; lowest volatility in candidate set (45%) gives favorable risk/reward for mean reversion",
      "mean_reversion_score": 72
    },
    {
      "symbol": "CRWD_CFD.US",
      "selection_reason": "Mild -0.6% 1d decline, -9.4% below MA200, -6.3% below MA50; moderate volatility (100%); liquid large-cap with steady drift below both MAs primed for snapback",
      "mean_reversion_score": 68
    },
    {
      "symbol": "AYI_CFD.US",
      "selection_reason": "-3.4% below MA200, -7.2% below MA50 with low volatility (53%); orderly pullback in liquid industrial name; tight vol supports controlled reversion trade",
      "mean_reversion_score": 66
    }
  ],
  "rejected_common_reasons": [
    "BIG_CFD.FR: -40.7% 1d crash with 246% volatility suggests binary/distressed event, not mean-reversion candidate",
    "OCDO_CFD.UK: -21.3% 1d drop with 241% volatility indicates event-driven collapse, too risky",
    "THG_CFD.UK: -20% 1d drop likely event-driven; high volatility (150%) and price near MA200 reduces reversion conviction",
    "RMV_CFD.UK: -14.8% 1d drop with 138% volatility; extreme distance from MA200 (-37%) suggests structural breakdown not temporary dislocation",
    "FUTR_CFD.UK: -13.7% 1d drop, -38% below MA200, 146% volatility; likely event-driven, catching falling knife risk too high",
    "COIN_CFD.US: Despite -41% below MA200, recent +4.2% bounce and 143% volatility suggest momentum-driven not mean-reverting",
    "CC_CFD.US: -19% 1d drop but price is +21% above MA200; contradictory signals suggest event-driven not technical reversion",
    "Stocks trading well above MA200 (FIVE, CGNX, CW, EME, RS1, IGG, AAF) excluded as not in oversold territory",
    "ETSY_CFD.US: +12.4% 1d surge already partially reverting; entry after large bounce reduces remaining upside"
  ]
}