Arena run #301
meanrev-v1 • anthropic • anthropic/claude-opus-4.6 • EU • success
Run status
as_of: 2026-02-25T10:57:06.928276+00:00
started_at: 2026-02-25T11:46:30.678262+00:00
finished_at: 2026-02-25T11:47:15.375486+00:00
duration_ms: 44696
Inputs
{
"dry_run": false,
"selected": [
{
"symbol": "CCC_CFD.UK",
"selection_reason": "Sharp -6.9% 1d drop while still above MA200 (+20.6%) and MA50 (+5.3%); moderate volatility (97%); pullback within uptrend suggests mean reversion bounce likely within 2-10 days.",
"mean_reversion_score": 72
},
{
"symbol": "FRE_CFD.DE",
"selection_reason": "-5.6% 1d drop but nearly flat vs MA50 (+0.2%) and modestly above MA200 (+6.4%); lowest volatility in universe (36%); clean pullback in stable uptrend favors reversion.",
"mean_reversion_score": 75
},
{
"symbol": "EZJ_CFD.UK",
"selection_reason": "-4.6% 1d drop; slightly below both MA200 (-5.1%) and MA50 (-3.2%); moderate volatility (79%); oversold short-term dip near moving averages supports bounce.",
"mean_reversion_score": 70
},
{
"symbol": "ATO_CFD.FR",
"selection_reason": "-10.6% 1d crash with MA50 distance at -30.3% and MA200 at -19.8%; deeply oversold on multiple timeframes; moderate volatility (95%) supports a short-term dead-cat bounce reversion.",
"mean_reversion_score": 65
},
{
"symbol": "MDV_CFD.PL",
"selection_reason": "-7.1% 1d drop; MA200 distance -30.7% and MA50 distance -7.4%; moderate volatility (84%); sharp single-day selloff in already depressed name creates short-term bounce setup.",
"mean_reversion_score": 64
}
],
"universe_symbols": [
"ADP_CFD.FR",
"ADJ_CFD.DE",
"BIG_CFD.FR",
"ATG_CFD.UK",
"FSLR_CFD.US",
"CCC_CFD.UK",
"EDPR_CFD.PT",
"FUTR_CFD.UK",
"OCDO_CFD.UK",
"BLND_CFD.UK",
"EZJ_CFD.UK",
"AGFB_CFD.BE",
"OC_CFD.US",
"HMSO_CFD.UK",
"AKAM_CFD.US",
"FRE_CFD.DE",
"ARE_CFD.US",
"BAX_CFD.US",
"EPAM_CFD.US",
"MAN_CFD.US",
"DCC_CFD.UK",
"DPLM_CFD.UK",
"ATO_CFD.FR",
"ALK_CFD.US",
"KBCA_CFD.BE",
"MDB_CFD.US",
"ACN_CFD.US",
"HAIN_CFD.US",
"BIO_CFD.US",
"GDS_CFD.FR",
"AAP_CFD.US",
"HPP_CFD.US",
"NBA_CFD.PT",
"KIM_CFD.US",
"AES_CFD.US",
"NA9_CFD.DE",
"ASGN_CFD.US",
"DEI_CFD.US",
"MDV_CFD.PL",
"LVS_CFD.US",
"FTK_CFD.DE",
"MAB_CFD.UK",
"BC_CFD.US",
"BC8_CFD.DE",
"MCHP_CFD.US",
"ICLR_CFD.US",
"FBIN_CFD.US"
]
}Outputs
{
"actions": {
"buy": [
{
"reason": "Highest mean-reversion score (75). Clean -5.6% 1d pullback in a stable uptrend (near MA50, +6.4% above MA200). Lowest volatility in candidate set (36%) makes it a high-quality reversion setup with favorable risk/reward.",
"symbol": "FRE_CFD.DE",
"position_size": 3000
},
{
"reason": "Score 72. Sharp -6.9% 1d drop while still well above MA200 (+20.6%) and MA50 (+5.3%). Pullback within a clear uptrend is a textbook mean-reversion opportunity. Previously held at lower price; re-entering at a better setup.",
"symbol": "CCC_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Down ~2.8% but position is relatively recent (Feb 24). Mean-reversion thesis still intact; give it more time to play out.",
"symbol": "AMCX_CFD.US"
},
{
"reason": "Down ~2.2% from entry. Still within normal mean-reversion holding window; no reason to exit yet.",
"symbol": "BXP_CFD.US"
},
{
"reason": "Flat at entry price. No signal to sell; holding for potential upside reversion.",
"symbol": "BYIT_CFD.UK"
},
{
"reason": "Very small loss (-0.2%). Recently opened position; mean-reversion thesis intact.",
"symbol": "FME_CFD.DE"
},
{
"reason": "Positive PnL (+33.53). Position working well; hold for further gains.",
"symbol": "ICG_CFD.UK"
},
{
"reason": "Flat at entry. No deterioration; continue holding.",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "Positive PnL (+41.46, +1.4%). Mean-reversion working; hold for target.",
"symbol": "OKTA_CFD.US"
},
{
"reason": "Flat at entry. No signal to exit; continue holding.",
"symbol": "PAGE_CFD.UK"
},
{
"reason": "Positive PnL (+38.61, +1.3%). Reversion thesis playing out nicely.",
"symbol": "STJ_CFD.UK"
},
{
"reason": "Flat at entry. Stable; no reason to sell.",
"symbol": "UKW_CFD.UK"
},
{
"reason": "Small positive PnL (+9.66). Recently opened; thesis intact.",
"symbol": "ZION_CFD.US"
}
],
"sell": [
{
"reason": "Position has been open since Feb 20 with -50.85 unrealized PnL (-1.7% loss). No clear mean-reversion catalyst visible; the stock is drifting lower. Free up capital for higher-conviction candidates.",
"symbol": "AML_CFD.UK"
},
{
"reason": "Unrealized PnL of -50.48 (-1.7% loss) with continued downward drift from 424.3 to 417.16. No sign of reversion; cut the loser to redeploy into fresher setups.",
"symbol": "RMV_CFD.UK"
}
]
},
"portfolio_rationale": "Selling two underperforming positions (AML, RMV) that show no reversion progress and are consuming capital. Holding 11 existing positions that are either flat or showing early signs of mean-reversion working. Adding FRE_CFD.DE (best score, low vol, clean pullback) and CCC_CFD.UK (sharp drop in uptrend) as the two new buys. After these trades, the portfolio will have ~13 active positions with gross exposure well within the 3x leverage limit. The strategy focuses on high-probability short-term reversions while cutting positions that aren't reverting."
}Prompts & responses
#589 • openrouter • anthropic/claude-opus-4.6 • 2026-02-25T11:46:30.721757+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": "EU", "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": "ADP_CFD.FR", "name": "ADP (Aeroports de Paris)", "sector": "", "last_price": 117.5, "change_1d_pct": -2.083333333333337, "distance_from_ma200_pct": 2.4070047437103392, "distance_from_ma50_pct": 2.72731850749357, "volatility_20d_pct": 54.629477640632494, "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.21, "change_1d_pct": 10.526315789473673, "distance_from_ma200_pct": -0.8498583569405027, "distance_from_ma50_pct": 8.035806152896384, "volatility_20d_pct": 309.9674160007547, "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": "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": "FSLR_CFD.US", "name": "", "sector": "", "last_price": 250.19, "change_1d_pct": 5.93640174450607, "distance_from_ma200_pct": 16.91804427828727, "distance_from_ma50_pct": 1.645322462564014, "volatility_20d_pct": 121.69307926755747, "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": "CCC_CFD.UK", "name": "COMPUTACENTER PLC", "sector": "", "last_price": 3060.0, "change_1d_pct": -6.877662811929397, "distance_from_ma200_pct": 20.590448668980944, "distance_from_ma50_pct": 5.284743621327226, "volatility_20d_pct": 97.14510937756963, "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": "EDPR_CFD.PT", "name": "EDP Renovaveis SA", "sector": "", "last_price": 13.5, "change_1d_pct": 2.427921092564489, "distance_from_ma200_pct": 20.260885948584463, "distance_from_ma50_pct": 6.128571226421786, "volatility_20d_pct": 60.437772281035485, "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": "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": "BLND_CFD.UK", "name": "BRITISH LAND CO PLC", "sector": "", "last_price": 410.8, "change_1d_pct": 0.29296875, "distance_from_ma200_pct": 9.858121765747342, "distance_from_ma50_pct": 2.6150347512259753, "volatility_20d_pct": 86.83694085600024, "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": 474.05, "change_1d_pct": -4.560096637809541, "distance_from_ma200_pct": -5.145465796191317, "distance_from_ma50_pct": -3.202317672003996, "volatility_20d_pct": 78.60530731681828, "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": "AGFB_CFD.BE", "name": "Agfa-Gevaert", "sector": "", "last_price": 0.49, "change_1d_pct": -2.0000000000000018, "distance_from_ma200_pct": -40.16326879514467, "distance_from_ma50_pct": -0.3051881993896277, "volatility_20d_pct": 101.01255992328346, "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": "OC_CFD.US", "name": "", "sector": "", "last_price": 128.82, "change_1d_pct": -3.8297872340425476, "distance_from_ma200_pct": -2.288913675266513, "distance_from_ma50_pct": 5.08798120457159, "volatility_20d_pct": 62.716593206553085, "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": "HAMMERSON PLC", "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": "AKAM_CFD.US", "name": "Akamai Technologies Inc", "sector": "", "last_price": 101.98, "change_1d_pct": -6.130338733431517, "distance_from_ma200_pct": 23.998093459398472, "distance_from_ma50_pct": 9.140255609518032, "volatility_20d_pct": 121.46170596644122, "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": "FRE_CFD.DE", "name": "", "sector": "", "last_price": 49.337, "change_1d_pct": -5.578733828370208, "distance_from_ma200_pct": 6.377313130333073, "distance_from_ma50_pct": 0.20362842868963948, "volatility_20d_pct": 36.254270039982764, "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": "ARE_CFD.US", "name": "Alexandria Real Estate Equities Inc", "sector": "", "last_price": 54.73, "change_1d_pct": 2.8179597971068837, "distance_from_ma200_pct": -18.635672006463956, "distance_from_ma50_pct": 3.5200211844369944, "volatility_20d_pct": 74.74977977281706, "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": "BAX_CFD.US", "name": "Baxter International Inc", "sector": "", "last_price": 20.98, "change_1d_pct": -2.3731968357375455, "distance_from_ma200_pct": -11.548077287924063, "distance_from_ma50_pct": 4.456061737615125, "volatility_20d_pct": 108.91798762289523, "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": "EPAM_CFD.US", "name": "EPAM Systems Inc", "sector": "", "last_price": 130.95, "change_1d_pct": -0.6524542902663022, "distance_from_ma200_pct": -25.697680059714223, "distance_from_ma50_pct": -33.86303511850108, "volatility_20d_pct": 161.20079191461755, "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": "MAN_CFD.US", "name": "ManpowerGroup Inc", "sector": "", "last_price": 26.09, "change_1d_pct": -10.650684931506849, "distance_from_ma200_pct": -28.09948672017638, "distance_from_ma50_pct": -15.083224298761234, "volatility_20d_pct": 116.97050975679888, "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": 5190.0, "change_1d_pct": 18.65569272976679, "distance_from_ma200_pct": 7.689940492800584, "distance_from_ma50_pct": 7.8869025965446315, "volatility_20d_pct": 93.98231976370826, "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": 5670.0, "change_1d_pct": 2.810516772438798, "distance_from_ma200_pct": 14.954674608527618, "distance_from_ma50_pct": 3.646795120447832, "volatility_20d_pct": 69.304812550861, "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": "ATO_CFD.FR", "name": "Atos SE", "sector": "", "last_price": 35.106, "change_1d_pct": -10.557961783439485, "distance_from_ma200_pct": -19.82849427219969, "distance_from_ma50_pct": -30.261884442834052, "volatility_20d_pct": 95.33672391195213, "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": "ALK_CFD.US", "name": "Alaska Air Group Inc", "sector": "", "last_price": 53.33, "change_1d_pct": 1.6390318277110794, "distance_from_ma200_pct": 4.233139805899255, "distance_from_ma50_pct": 2.1643595235267377, "volatility_20d_pct": 105.12502497410942, "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": "KBCA_CFD.BE", "name": "", "sector": "", "last_price": 76.4, "change_1d_pct": -1.1642949547218562, "distance_from_ma200_pct": 11.835586464205218, "distance_from_ma50_pct": 0.19703668575483668, "volatility_20d_pct": 54.557753467560765, "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": "MDB_CFD.US", "name": "", "sector": "", "last_price": 316.4, "change_1d_pct": -11.38744188651768, "distance_from_ma200_pct": 4.4910683914518135, "distance_from_ma50_pct": -19.331275651965964, "volatility_20d_pct": 135.931727506141, "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": "ACN_CFD.US", "name": "Accenture plc", "sector": "", "last_price": 199.13, "change_1d_pct": -6.551222488150554, "distance_from_ma200_pct": -25.364043782329716, "distance_from_ma50_pct": -23.259651602749145, "volatility_20d_pct": 89.12102726969687, "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": "", "sector": "", "last_price": 0.79, "change_1d_pct": -14.130434782608692, "distance_from_ma200_pct": -45.771554091158706, "distance_from_ma50_pct": -28.905687544996393, "volatility_20d_pct": 240.46332959318778, "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": "BIO_CFD.US", "name": "", "sector": "", "last_price": 272.21, "change_1d_pct": 0.632162661737512, "distance_from_ma200_pct": -3.829525194272587, "distance_from_ma50_pct": -9.511994372796885, "volatility_20d_pct": 84.66239160719876, "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": 3.2863849765258246, "distance_from_ma200_pct": 10.019913604362408, "distance_from_ma50_pct": 14.29260152819598, "volatility_20d_pct": 121.24621505276059, "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": "AAP_CFD.US", "name": "Advance Auto Parts Inc", "sector": "", "last_price": 54.29, "change_1d_pct": -2.268226822682262, "distance_from_ma200_pct": 4.582843713278484, "distance_from_ma50_pct": 15.172960978238281, "volatility_20d_pct": 98.567887189443, "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": "HPP_CFD.US", "name": "Hudson Pacific Properties Inc", "sector": "", "last_price": 6.33, "change_1d_pct": -0.4716981132075526, "distance_from_ma200_pct": -58.52457566316451, "distance_from_ma50_pct": -31.277819997828683, "volatility_20d_pct": 122.37514778428367, "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": "NBA_CFD.PT", "name": "Novabase SGPS SA", "sector": "", "last_price": 9.2, "change_1d_pct": -1.6042780748663166, "distance_from_ma200_pct": 8.694111142091533, "distance_from_ma50_pct": 0.689504213636849, "volatility_20d_pct": 91.19790884544534, "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": "KIM_CFD.US", "name": "", "sector": "", "last_price": 23.53, "change_1d_pct": 4.022988505747116, "distance_from_ma200_pct": 10.783369782458752, "distance_from_ma50_pct": 11.728395061728403, "volatility_20d_pct": 40.69281975649947, "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": "AES_CFD.US", "name": "The AES Corporation", "sector": "", "last_price": 16.46, "change_1d_pct": 1.1056511056511065, "distance_from_ma200_pct": 23.22665169380498, "distance_from_ma50_pct": 10.977763993581346, "volatility_20d_pct": 78.78739324180378, "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": "NA9_CFD.DE", "name": "Nagarro N", "sector": "", "last_price": 47.5, "change_1d_pct": -16.509939711388043, "distance_from_ma200_pct": -20.104116950752605, "distance_from_ma50_pct": -30.7792478808249, "volatility_20d_pct": 8233.707997951253, "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": "ASGN_CFD.US", "name": "ASGN Inc", "sector": "", "last_price": 40.92, "change_1d_pct": -6.9365476461223485, "distance_from_ma200_pct": -17.0530732626906, "distance_from_ma50_pct": -15.516337224426756, "volatility_20d_pct": 98.51862329714872, "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": "DEI_CFD.US", "name": "Douglas Emmett Inc", "sector": "", "last_price": 10.16, "change_1d_pct": 0.39525691699606735, "distance_from_ma200_pct": -25.14964545538263, "distance_from_ma50_pct": -6.129312415691923, "volatility_20d_pct": 72.92798762489666, "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": "MDV_CFD.PL", "name": "", "sector": "", "last_price": 114.25, "change_1d_pct": -7.076047173647826, "distance_from_ma200_pct": -30.677434670687475, "distance_from_ma50_pct": -7.434414142887236, "volatility_20d_pct": 83.82468603485997, "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": "LVS_CFD.US", "name": "", "sector": "", "last_price": 55.58, "change_1d_pct": -3.1875979794460885, "distance_from_ma200_pct": 1.9903533053737599, "distance_from_ma50_pct": -8.627906135641028, "volatility_20d_pct": 103.34466330050122, "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": 29.14, "change_1d_pct": -0.6139154160982208, "distance_from_ma200_pct": -3.366327177606987, "distance_from_ma50_pct": -20.508527192685257, "volatility_20d_pct": 6515.791411802467, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MAB_CFD.UK", "name": "MITCHELLS & BUTLERS PLC", "sector": "", "last_price": 295.5, "change_1d_pct": 12.571428571428566, "distance_from_ma200_pct": 12.742431997332337, "distance_from_ma50_pct": 12.200419185322442, "volatility_20d_pct": 118.97586431666585, "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": "BC_CFD.US", "name": "Brunswick Corporation", "sector": "", "last_price": 84.43, "change_1d_pct": -2.1781948789247996, "distance_from_ma200_pct": 26.770153834373, "distance_from_ma50_pct": 2.1217817063760025, "volatility_20d_pct": 73.33209348596633, "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": "BC8_CFD.DE", "name": "BECHTLE AG", "sector": "", "last_price": 32.28, "change_1d_pct": -2.241066020593585, "distance_from_ma200_pct": -17.264436240945024, "distance_from_ma50_pct": -20.94544157897521, "volatility_20d_pct": 70.35516225389954, "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": "MCHP_CFD.US", "name": "", "sector": "", "last_price": 76.66, "change_1d_pct": 0.6168788554928417, "distance_from_ma200_pct": 15.239378014022332, "distance_from_ma50_pct": 5.146211664014921, "volatility_20d_pct": 91.53198948681704, "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": "ICLR_CFD.US", "name": "ICON PLC", "sector": "", "last_price": 105.09, "change_1d_pct": 11.394954420182323, "distance_from_ma200_pct": -35.96869661963584, "distance_from_ma50_pct": -36.63085255593115, "volatility_20d_pct": 269.754697912203, "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": 53.85, "change_1d_pct": 2.4738344433872683, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -2.3373740451370084, "volatility_20d_pct": 8170.3690446544415, "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": "CCC_CFD.UK",
"selection_reason": "Sharp -6.9% 1d drop while still above MA200 (+20.6%) and MA50 (+5.3%); moderate volatility (97%); pullback within uptrend suggests mean reversion bounce likely within 2-10 days.",
"mean_reversion_score": 72
},
{
"symbol": "FRE_CFD.DE",
"selection_reason": "-5.6% 1d drop but nearly flat vs MA50 (+0.2%) and modestly above MA200 (+6.4%); lowest volatility in universe (36%); clean pullback in stable uptrend favors reversion.",
"mean_reversion_score": 75
},
{
"symbol": "EZJ_CFD.UK",
"selection_reason": "-4.6% 1d drop; slightly below both MA200 (-5.1%) and MA50 (-3.2%); moderate volatility (79%); oversold short-term dip near moving averages supports bounce.",
"mean_reversion_score": 70
},
{
"symbol": "ATO_CFD.FR",
"selection_reason": "-10.6% 1d crash with MA50 distance at -30.3% and MA200 at -19.8%; deeply oversold on multiple timeframes; moderate volatility (95%) supports a short-term dead-cat bounce reversion.",
"mean_reversion_score": 65
},
{
"symbol": "MDV_CFD.PL",
"selection_reason": "-7.1% 1d drop; MA200 distance -30.7% and MA50 distance -7.4%; moderate volatility (84%); sharp single-day selloff in already depressed name creates short-term bounce setup.",
"mean_reversion_score": 64
}
],
"rejected_common_reasons": [
"Extreme volatility >200% (ADJ, BIG, OCDO, HAIN, NA9, FTK, FBIN, ICLR) — too risky/binary for mean reversion",
"Large positive 1d moves (+10-19%) suggest momentum/event-driven rather than reversion setup (HMSO, DCC, MAB, ICLR)",
"Penny stocks with extreme distance from MA200 (>40%) and very high vol suggest structural decline, not mean reversion (AGFB, HPP, HAIN, BIG)",
"US-listed symbols deprioritized for EU region scan unless no EU alternatives available",
"Stocks near or above both MA50 and MA200 with small 1d moves lack sufficient dislocation for mean reversion (BLND, DPLM, KBCA, NBA, ALK)"
]
}#590 • openrouter • anthropic/claude-opus-4.6 • 2026-02-25T11:46:55.716387+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": "EU", "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": "AMCX_CFD.US", "qty": 395.77836411609496, "avg_price": 7.58, "last_price": 7.365, "unrealized_pnl": -85.09234828496037, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "AMH_CFD.US", "qty": 0.0, "avg_price": 29.63, "last_price": 29.16, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "AML_CFD.UK", "qty": 50.847457627118644, "avg_price": 59.0, "last_price": 58.0, "unrealized_pnl": -50.847457627118644, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "ARCAD_CFD.NL", "qty": 0.0, "avg_price": 28.6, "last_price": 27.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T10:32:09.961595+00:00"}, {"symbol": "BXP_CFD.US", "qty": 49.31371743239911, "avg_price": 60.835, "last_price": 59.495, "unrealized_pnl": -66.08038135941497, "opened_at": "2026-02-21T17:32:49.140800+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": 0.0, "avg_price": 2922.0, "last_price": 3060.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "CRWD_CFD.US", "qty": 0.0, "avg_price": 423.05499999999995, "last_price": 388.21500000000003, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "ETSY_CFD.US", "qty": 0.0, "avg_price": 44.13, "last_price": 50.905, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "FME_CFD.DE", "qty": 78.1657113079729, "avg_price": 38.38, "last_price": 38.29, "unrealized_pnl": -7.034914017717828, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "HO_CFD.FR", "qty": 0.0, "avg_price": 254.566, "last_price": 251.7, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T10:32:09.961595+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": "LOPE_CFD.US", "qty": 0.0, "avg_price": 157.02, "last_price": 152.77, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T17:33:48.338981+00:00"}, {"symbol": "LPX_CFD.US", "qty": 0.0, "avg_price": 86.45, "last_price": 82.99, "unrealized_pnl": 0.0, "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": 0.0, "avg_price": 26.27, "last_price": 25.98, "unrealized_pnl": 0.0, "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": "OKTA_CFD.US", "qty": 42.747221430607006, "avg_price": 70.18, "last_price": 71.15, "unrealized_pnl": 41.46480478768875, "opened_at": "2026-02-23T18:14:12.978497+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": "RMV_CFD.UK", "qty": 7.070469007777516, "avg_price": 424.3, "last_price": 417.16, "unrealized_pnl": -50.483148715531364, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "SGE_CFD.UK", "qty": 0.0, "avg_price": 795.4, "last_price": 783.4, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "STJ_CFD.UK", "qty": 2.3400936037441498, "avg_price": 1282.0, "last_price": 1298.5, "unrealized_pnl": 38.61154446177847, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "STZ_CFD.US", "qty": 0.0, "avg_price": 149.07, "last_price": 156.44, "unrealized_pnl": 0.0, "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": "UKW_CFD.UK", "qty": 32.48511099079589, "avg_price": 92.35, "last_price": 92.35, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}, {"symbol": "ZAL_CFD.DE", "qty": 0.0, "avg_price": 21.078, "last_price": 20.775, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "ZION_CFD.US", "qty": 50.8560773012375, "avg_price": 58.99, "last_price": 59.18, "unrealized_pnl": 9.662654687235008, "opened_at": "2026-02-23T18:14:12.978497+00:00"}], "candidates": [{"symbol": "CCC_CFD.UK", "mean_reversion_score": 72, "selection_reason": "Sharp -6.9% 1d drop while still above MA200 (+20.6%) and MA50 (+5.3%); moderate volatility (97%); pullback within uptrend suggests mean reversion bounce likely within 2-10 days."}, {"symbol": "FRE_CFD.DE", "mean_reversion_score": 75, "selection_reason": "-5.6% 1d drop but nearly flat vs MA50 (+0.2%) and modestly above MA200 (+6.4%); lowest volatility in universe (36%); clean pullback in stable uptrend favors reversion."}, {"symbol": "EZJ_CFD.UK", "mean_reversion_score": 70, "selection_reason": "-4.6% 1d drop; slightly below both MA200 (-5.1%) and MA50 (-3.2%); moderate volatility (79%); oversold short-term dip near moving averages supports bounce."}, {"symbol": "ATO_CFD.FR", "mean_reversion_score": 65, "selection_reason": "-10.6% 1d crash with MA50 distance at -30.3% and MA200 at -19.8%; deeply oversold on multiple timeframes; moderate volatility (95%) supports a short-term dead-cat bounce reversion."}, {"symbol": "MDV_CFD.PL", "mean_reversion_score": 64, "selection_reason": "-7.1% 1d drop; MA200 distance -30.7% and MA50 distance -7.4%; moderate volatility (84%); sharp single-day selloff in already depressed name creates short-term bounce setup."}], "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 (75). Clean -5.6% 1d pullback in a stable uptrend (near MA50, +6.4% above MA200). Lowest volatility in candidate set (36%) makes it a high-quality reversion setup with favorable risk/reward.",
"symbol": "FRE_CFD.DE",
"position_size": 3000
},
{
"reason": "Score 72. Sharp -6.9% 1d drop while still well above MA200 (+20.6%) and MA50 (+5.3%). Pullback within a clear uptrend is a textbook mean-reversion opportunity. Previously held at lower price; re-entering at a better setup.",
"symbol": "CCC_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Down ~2.8% but position is relatively recent (Feb 24). Mean-reversion thesis still intact; give it more time to play out.",
"symbol": "AMCX_CFD.US"
},
{
"reason": "Down ~2.2% from entry. Still within normal mean-reversion holding window; no reason to exit yet.",
"symbol": "BXP_CFD.US"
},
{
"reason": "Flat at entry price. No signal to sell; holding for potential upside reversion.",
"symbol": "BYIT_CFD.UK"
},
{
"reason": "Very small loss (-0.2%). Recently opened position; mean-reversion thesis intact.",
"symbol": "FME_CFD.DE"
},
{
"reason": "Positive PnL (+33.53). Position working well; hold for further gains.",
"symbol": "ICG_CFD.UK"
},
{
"reason": "Flat at entry. No deterioration; continue holding.",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "Positive PnL (+41.46, +1.4%). Mean-reversion working; hold for target.",
"symbol": "OKTA_CFD.US"
},
{
"reason": "Flat at entry. No signal to exit; continue holding.",
"symbol": "PAGE_CFD.UK"
},
{
"reason": "Positive PnL (+38.61, +1.3%). Reversion thesis playing out nicely.",
"symbol": "STJ_CFD.UK"
},
{
"reason": "Flat at entry. Stable; no reason to sell.",
"symbol": "UKW_CFD.UK"
},
{
"reason": "Small positive PnL (+9.66). Recently opened; thesis intact.",
"symbol": "ZION_CFD.US"
}
],
"sell": [
{
"reason": "Position has been open since Feb 20 with -50.85 unrealized PnL (-1.7% loss). No clear mean-reversion catalyst visible; the stock is drifting lower. Free up capital for higher-conviction candidates.",
"symbol": "AML_CFD.UK"
},
{
"reason": "Unrealized PnL of -50.48 (-1.7% loss) with continued downward drift from 424.3 to 417.16. No sign of reversion; cut the loser to redeploy into fresher setups.",
"symbol": "RMV_CFD.UK"
}
]
},
"portfolio_rationale": "Selling two underperforming positions (AML, RMV) that show no reversion progress and are consuming capital. Holding 11 existing positions that are either flat or showing early signs of mean-reversion working. Adding FRE_CFD.DE (best score, low vol, clean pullback) and CCC_CFD.UK (sharp drop in uptrend) as the two new buys. After these trades, the portfolio will have ~13 active positions with gross exposure well within the 3x leverage limit. The strategy focuses on high-probability short-term reversions while cutting positions that aren't reverting."
}Selection logs
#293 • stage1 • 2026-02-25T11:46:55.714197+00:00
{
"selected_stocks": [
{
"symbol": "CCC_CFD.UK",
"selection_reason": "Sharp -6.9% 1d drop while still above MA200 (+20.6%) and MA50 (+5.3%); moderate volatility (97%); pullback within uptrend suggests mean reversion bounce likely within 2-10 days.",
"mean_reversion_score": 72
},
{
"symbol": "FRE_CFD.DE",
"selection_reason": "-5.6% 1d drop but nearly flat vs MA50 (+0.2%) and modestly above MA200 (+6.4%); lowest volatility in universe (36%); clean pullback in stable uptrend favors reversion.",
"mean_reversion_score": 75
},
{
"symbol": "EZJ_CFD.UK",
"selection_reason": "-4.6% 1d drop; slightly below both MA200 (-5.1%) and MA50 (-3.2%); moderate volatility (79%); oversold short-term dip near moving averages supports bounce.",
"mean_reversion_score": 70
},
{
"symbol": "ATO_CFD.FR",
"selection_reason": "-10.6% 1d crash with MA50 distance at -30.3% and MA200 at -19.8%; deeply oversold on multiple timeframes; moderate volatility (95%) supports a short-term dead-cat bounce reversion.",
"mean_reversion_score": 65
},
{
"symbol": "MDV_CFD.PL",
"selection_reason": "-7.1% 1d drop; MA200 distance -30.7% and MA50 distance -7.4%; moderate volatility (84%); sharp single-day selloff in already depressed name creates short-term bounce setup.",
"mean_reversion_score": 64
}
],
"rejected_common_reasons": [
"Extreme volatility >200% (ADJ, BIG, OCDO, HAIN, NA9, FTK, FBIN, ICLR) — too risky/binary for mean reversion",
"Large positive 1d moves (+10-19%) suggest momentum/event-driven rather than reversion setup (HMSO, DCC, MAB, ICLR)",
"Penny stocks with extreme distance from MA200 (>40%) and very high vol suggest structural decline, not mean reversion (AGFB, HPP, HAIN, BIG)",
"US-listed symbols deprioritized for EU region scan unless no EU alternatives available",
"Stocks near or above both MA50 and MA200 with small 1d moves lack sufficient dislocation for mean reversion (BLND, DPLM, KBCA, NBA, ALK)"
]
}