Arena run #706
meanrev-v1 • openai • openai/gpt-5.2-pro • EU • success
Run status
as_of: 2026-03-18T10:06:24.210601+00:00
started_at: 2026-03-18T11:07:15.767907+00:00
finished_at: 2026-03-18T11:10:41.016458+00:00
duration_ms: 205247
Inputs
{
"as_of": "2026-03-18T10:06:24.210601+00:00",
"dry_run": false,
"selected": [
{
"symbol": "WPP_CFD.UK",
"selection_reason": "Large 1D selloff (-9.08%) with deep technical oversold vs MA200 (-37.49%) and MA50 (-18.86%)",
"mean_reversion_score": 85
},
{
"symbol": "BYIT_CFD.UK",
"selection_reason": "Sharp pullback (-12.67% 1D) while trading well below MA200 (-28.03%) and MA50 (-14.35%)",
"mean_reversion_score": 82
},
{
"symbol": "UTG_CFD.UK",
"selection_reason": "Significant longer-term drawdown (MA200 distance -23.93%) and still below MA50 (-3.69%) with a bounce day (+3.46%) suggesting a short-term reversal attempt",
"mean_reversion_score": 74
},
{
"symbol": "TEP_CFD.FR",
"selection_reason": "Below MA200 (-21.37%) and MA50 (-5.00%) with mild positive 1D move (+0.99%) consistent with early mean-reversion stabilization",
"mean_reversion_score": 70
},
{
"symbol": "DPLM_CFD.UK",
"selection_reason": "Short-term dip (-5.43% 1D) with price below MA50 (-4.66%) and near MA200 (+4.82%)—setup for rebound back toward MA50",
"mean_reversion_score": 66
}
],
"simulate_only": false,
"strict_replay": false,
"universe_symbols": [
"WTB_CFD.UK",
"ESNT_CFD.UK",
"SAFE_CFD.UK",
"UTG_CFD.UK",
"KGF_CFD.UK",
"RHIM_CFD.UK",
"CBG_CFD.UK",
"RSW_CFD.UK",
"MCG_CFD.UK",
"CCL_CFD.UK",
"UN0_CFD.DE",
"EMG_CFD.UK",
"OCDO_CFD.UK",
"LRE_CFD.UK",
"MRN_CFD.FR",
"LIO_CFD.UK",
"VTY_CFD.UK",
"TPK_CFD.UK",
"BBY_CFD.UK",
"MAB_CFD.UK",
"IMI_CFD.UK",
"DOM_CFD.UK",
"IPO_CFD.UK",
"ATG_CFD.UK",
"GO_CFD.US",
"BME_CFD.UK",
"GROW_CFD.UK",
"BYIT_CFD.UK",
"WKP_CFD.UK",
"FBIN_CFD.US",
"HLMA_CFD.UK",
"FUTR_CFD.UK",
"DPLM_CFD.UK",
"NVAX_CFD.US",
"MRNA_CFD.US",
"FMC_CFD.US",
"IGG_CFD.UK",
"ROR_CFD.UK",
"OCI_CFD.NL",
"HPP_CFD.US",
"GRG_CFD.UK",
"TEP_CFD.FR",
"HMSO_CFD.UK",
"S30_CFD.FR",
"MSLH_CFD.UK",
"WPP_CFD.UK",
"SAIA_CFD.US",
"BMY_CFD.US",
"MOH_CFD.US",
"CABO_CFD.US"
]
}Outputs
{
"actions": {
"buy": [
{
"reason": "Highest mean_reversion_score (85) among candidates, driven by a large 1D selloff (-9.08%) and deep oversold vs MA200 (-37.49%) and MA50 (-18.86%); fits the strategy’s mean-reversion entry profile.",
"symbol": "WPP_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Small unrealized gain and no provided risk/event trigger; avoid overtrading while maintaining diversification.",
"symbol": "ADBE_CFD.US"
},
{
"reason": "Currently in a moderate drawdown; mean-reversion framework supports allowing time for rebound absent a specific risk event.",
"symbol": "CSGP_CFD.US"
},
{
"reason": "Large drawdown but no new risk information provided; avoid forced churn and allow mean-reversion thesis time to play out.",
"symbol": "EZJ_CFD.UK"
},
{
"reason": "Position is in profit; no rule-based sell trigger provided, so hold to avoid unnecessary churn.",
"symbol": "FICO_CFD.US"
},
{
"reason": "Recently opened and approximately flat; keep as-is to limit turnover (only rotating one slot this run).",
"symbol": "IWG_CFD.UK"
},
{
"reason": "Approximately flat and recently opened; no clear improvement case to replace it this run.",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "Small unrealized loss; no additional signal/risk information to justify a sell.",
"symbol": "PSN_CFD.UK"
},
{
"reason": "Small unrealized loss; hold under mean-reversion approach absent a stronger replacement case than the single planned rotation.",
"symbol": "ULTA_CFD.US"
},
{
"reason": "Small unrealized loss; no explicit exit trigger provided, so hold to avoid overtrading.",
"symbol": "ZS_CFD.US"
}
],
"sell": [
{
"reason": "Position is approximately flat (last_price ~= avg_price). With max_positions already reached, rotating one slot into a higher mean-reversion-score, deeper-oversold setup (WPP) is a clearer use of the fixed position size than keeping a neutral/unchanged holding.",
"symbol": "FUTR_CFD.UK"
}
]
},
"portfolio_rationale": "Portfolio is already at the 10-position limit and near the intended gross exposure (fixed 3,000 per slot). To respect overtrading limits, make a single rotation: exit one approximately flat position (FUTR) and initiate the strongest mean-reversion candidate (WPP) based on the provided scores and oversold rationale. All other active positions are held due to lack of explicit risk/event triggers and to avoid churn."
}Prompts & responses
#1396 • openrouter • openai/gpt-5.2-pro • 2026-03-18T11:07:15.817973+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": "WTB_CFD.UK", "name": "WHITBREAD PLC", "sector": "", "last_price": 2691.0, "change_1d_pct": 11.659751037344401, "distance_from_ma200_pct": -5.969827496214986, "distance_from_ma50_pct": -5.069507041577781, "volatility_20d_pct": 87.61035263352142, "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": "ESNT_CFD.UK", "name": "ESSENTRA PLC", "sector": "", "last_price": 108.4, "change_1d_pct": 4.230769230769238, "distance_from_ma200_pct": 7.40452119530135, "distance_from_ma50_pct": 9.771484932749797, "volatility_20d_pct": 98.9832071461764, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SAFE_CFD.UK", "name": "SAFESTORE HOLDINGS PLC", "sector": "", "last_price": 802.5, "change_1d_pct": 13.187588152327212, "distance_from_ma200_pct": 21.40724384452035, "distance_from_ma50_pct": 10.29872606002229, "volatility_20d_pct": 81.07249455345375, "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": "KGF_CFD.UK", "name": "KINGFISHER PLC", "sector": "", "last_price": 347.0, "change_1d_pct": 2.6020106445890034, "distance_from_ma200_pct": 18.583930168759967, "distance_from_ma50_pct": 6.639688157278489, "volatility_20d_pct": 88.64906606382688, "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": 2795.0, "change_1d_pct": 2.3809523809523725, "distance_from_ma200_pct": 6.811460460804897, "distance_from_ma50_pct": 10.895008018562113, "volatility_20d_pct": 141.33746334612064, "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": "CBG_CFD.UK", "name": "CLOSE BROTHERS GROUP PLC", "sector": "", "last_price": 372.74, "change_1d_pct": -26.625984251968504, "distance_from_ma200_pct": -13.365429078084645, "distance_from_ma50_pct": -22.129222788055436, "volatility_20d_pct": 169.0552301316783, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "RSW_CFD.UK", "name": "RENISHAW PLC", "sector": "", "last_price": 4100.0, "change_1d_pct": 18.155619596541793, "distance_from_ma200_pct": 36.779911314574385, "distance_from_ma50_pct": 14.333028240759926, "volatility_20d_pct": 92.61568245477878, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MCG_CFD.UK", "name": "MOBICO GROUP PLC", "sector": "", "last_price": 25.72, "change_1d_pct": 2.9623698959167166, "distance_from_ma200_pct": -7.132760074308242, "distance_from_ma50_pct": 8.327577202351844, "volatility_20d_pct": 232.19808875565576, "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": "CCL_CFD.UK", "name": "CARNIVAL PLC", "sector": "", "last_price": 1989.0, "change_1d_pct": -3.9594398841139578, "distance_from_ma200_pct": 4.932242734391812, "distance_from_ma50_pct": -4.47172238108916, "volatility_20d_pct": 163.30913338012496, "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": "UN0_CFD.DE", "name": "UNIPER SE", "sector": "", "last_price": 47.883, "change_1d_pct": 29.193535331732456, "distance_from_ma200_pct": 36.04375288467563, "distance_from_ma50_pct": 34.22914742920196, "volatility_20d_pct": 94.30306553169683, "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": "EMG_CFD.UK", "name": "MAN GROUP PLC/JERSEY", "sector": "", "last_price": 269.6, "change_1d_pct": 2.353834472285521, "distance_from_ma200_pct": 42.186331073171914, "distance_from_ma50_pct": 15.516783354614262, "volatility_20d_pct": 86.92367167139048, "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": 217.0, "change_1d_pct": -21.148255813953487, "distance_from_ma200_pct": -15.81606625159202, "distance_from_ma50_pct": -5.48311196636071, "volatility_20d_pct": 241.3119670937803, "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": "LRE_CFD.UK", "name": "LANCASHIRE HOLDINGS LTD", "sector": "", "last_price": 647.0, "change_1d_pct": -2.26586102719033, "distance_from_ma200_pct": 6.266967093949116, "distance_from_ma50_pct": -1.0131237932627712, "volatility_20d_pct": 79.5840954070324, "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": "MRN_CFD.FR", "name": "Mersen", "sector": "", "last_price": 24.45, "change_1d_pct": -2.004008016032066, "distance_from_ma200_pct": 2.9337161597514427, "distance_from_ma50_pct": -4.920934660266352, "volatility_20d_pct": 65.049066606698, "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": 270.0, "change_1d_pct": 7.784431137724557, "distance_from_ma200_pct": -17.148878096081223, "distance_from_ma50_pct": 4.440258238208905, "volatility_20d_pct": 138.52252179896075, "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": "VTY_CFD.UK", "name": "VISTRY GROUP PLC", "sector": "", "last_price": 403.2, "change_1d_pct": -44.21693414499169, "distance_from_ma200_pct": -35.825419675413826, "distance_from_ma50_pct": -36.113069725802745, "volatility_20d_pct": 213.0917779123437, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "TPK_CFD.UK", "name": "TRAVIS PERKINS PLC", "sector": "", "last_price": 630.0, "change_1d_pct": 3.3007034285995385, "distance_from_ma200_pct": 5.198044084492737, "distance_from_ma50_pct": -0.6512233461424932, "volatility_20d_pct": 104.7300027131335, "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": "MAB_CFD.UK", "name": "MITCHELLS & BUTLERS PLC", "sector": "", "last_price": 292.81, "change_1d_pct": 14.37890625, "distance_from_ma200_pct": 11.595067041457764, "distance_from_ma50_pct": 10.935906392690597, "volatility_20d_pct": 118.87119977937589, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IMI_CFD.UK", "name": "IMI PLC", "sector": "", "last_price": 2774.0, "change_1d_pct": 4.7583081570997, "distance_from_ma200_pct": 25.227479847754264, "distance_from_ma50_pct": 6.661876238540865, "volatility_20d_pct": 87.69330898337377, "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": 189.21, "change_1d_pct": 4.190528634361246, "distance_from_ma200_pct": -12.46581454882838, "distance_from_ma50_pct": 4.428944053991102, "volatility_20d_pct": 85.812071272284, "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.03, "change_1d_pct": -5.039370078740147, "distance_from_ma200_pct": -53.12645751064955, "distance_from_ma50_pct": -33.71003913636162, "volatility_20d_pct": 169.99714545519276, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BME_CFD.UK", "name": "B&M EUROPEAN VALUE RETAIL SA", "sector": "", "last_price": 180.0, "change_1d_pct": -0.5799502899751507, "distance_from_ma200_pct": -17.510144533683704, "distance_from_ma50_pct": 3.6906975618860693, "volatility_20d_pct": 107.67302074828436, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "GROW_CFD.UK", "name": "MOLTEN VENTURES PLC", "sector": "", "last_price": 465.0, "change_1d_pct": 1.572739187418093, "distance_from_ma200_pct": 22.569628774815076, "distance_from_ma50_pct": -4.275686024250158, "volatility_20d_pct": 115.72658030340939, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "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": "FBIN_CFD.US", "name": "Fortune Brands Innovations", "sector": "", "last_price": 43.93, "change_1d_pct": 0.0911369332421863, "distance_from_ma200_pct": -17.708809447096108, "distance_from_ma50_pct": -19.530334114888625, "volatility_20d_pct": 138.46106654082428, "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": "HLMA_CFD.UK", "name": "HALMA PLC", "sector": "", "last_price": 3904.0, "change_1d_pct": 7.548209366391179, "distance_from_ma200_pct": 16.52280895184093, "distance_from_ma50_pct": 5.778818225170168, "volatility_20d_pct": 86.60562444492528, "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": "DPLM_CFD.UK", "name": "DIPLOMA PLC", "sector": "", "last_price": 5220.0, "change_1d_pct": -5.434782608695654, "distance_from_ma200_pct": 4.8180942215069855, "distance_from_ma50_pct": -4.664614313757087, "volatility_20d_pct": 82.77890721911896, "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": "NVAX_CFD.US", "name": "NOVAVAX INC", "sector": "", "last_price": 10.83, "change_1d_pct": 3.6363636363636376, "distance_from_ma200_pct": 36.543298598634564, "distance_from_ma50_pct": 19.152400651322445, "volatility_20d_pct": 181.41969659186609, "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": "MRNA_CFD.US", "name": "MODERNA INC", "sector": "", "last_price": 55.01, "change_1d_pct": 2.554064131245326, "distance_from_ma200_pct": 71.38059358561159, "distance_from_ma50_pct": 19.583317029481705, "volatility_20d_pct": 180.7912217387313, "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": "FMC_CFD.US", "name": "FMC Corporation", "sector": "", "last_price": 14.56, "change_1d_pct": -0.4784688995215336, "distance_from_ma200_pct": -45.728545815767795, "distance_from_ma50_pct": -2.444253859348189, "volatility_20d_pct": 118.11295296034356, "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": "IG GROUP HOLDINGS PLC", "sector": "", "last_price": 1356.0, "change_1d_pct": 3.1963470319634757, "distance_from_ma200_pct": 21.69129359819437, "distance_from_ma50_pct": 9.822701129829392, "volatility_20d_pct": 89.02278066392904, "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": "ROR_CFD.UK", "name": "ROTORK PLC", "sector": "", "last_price": 315.64, "change_1d_pct": -7.815420560747666, "distance_from_ma200_pct": -3.440121571713639, "distance_from_ma50_pct": -7.465605958975752, "volatility_20d_pct": 114.53961834922319, "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": "OCI_CFD.NL", "name": "", "sector": "", "last_price": 3.518, "change_1d_pct": -6.436170212765957, "distance_from_ma200_pct": -24.327568275655864, "distance_from_ma50_pct": 1.0141615078043342, "volatility_20d_pct": 74.76517215223801, "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 IN", "sector": "", "last_price": 6.28, "change_1d_pct": 1.7828200972447306, "distance_from_ma200_pct": -57.242989858826974, "distance_from_ma50_pct": -21.228237419095887, "volatility_20d_pct": 199.51253864998938, "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": "GRG_CFD.UK", "name": "GREGGS PLC", "sector": "", "last_price": 1624.0, "change_1d_pct": -1.3365735115431376, "distance_from_ma200_pct": -4.161978531102917, "distance_from_ma50_pct": -1.7144771670142167, "volatility_20d_pct": 111.32517975776676, "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": "TEP_CFD.FR", "name": "", "sector": "", "last_price": 51.66, "change_1d_pct": 0.9911442144155735, "distance_from_ma200_pct": -21.36742743858202, "distance_from_ma50_pct": -5.002852121106482, "volatility_20d_pct": 97.61358816186709, "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": "S30_CFD.FR", "name": "", "sector": "", "last_price": 0.81, "change_1d_pct": -0.6134969325153228, "distance_from_ma200_pct": -34.27405285664441, "distance_from_ma50_pct": -9.867806115636258, "volatility_20d_pct": 63.45546307995025, "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": "MARSHALLS PLC", "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": "WPP_CFD.UK", "name": "WPP PLC", "sector": "", "last_price": 236.4, "change_1d_pct": -9.076923076923071, "distance_from_ma200_pct": -37.486406136063586, "distance_from_ma50_pct": -18.8592516928349, "volatility_20d_pct": 171.07955577415137, "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": "SAIA_CFD.US", "name": "SAIA INC", "sector": "", "last_price": 334.77, "change_1d_pct": 3.1426194657546924, "distance_from_ma200_pct": 6.089019135287499, "distance_from_ma50_pct": -9.851079379629379, "volatility_20d_pct": 118.08021980348846, "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": "BMY_CFD.US", "name": "BRISTOL-MYERS SQUIBB CO", "sector": "", "last_price": 60.67, "change_1d_pct": 2.7086507533435, "distance_from_ma200_pct": 20.794732577146767, "distance_from_ma50_pct": 4.052686641398129, "volatility_20d_pct": 44.98956147594229, "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": "MOH_CFD.US", "name": "", "sector": "", "last_price": 146.23, "change_1d_pct": -0.3271760616181729, "distance_from_ma200_pct": -20.550166867469077, "distance_from_ma50_pct": -10.230847242037234, "volatility_20d_pct": 96.0850354127677, "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": "CABO_CFD.US", "name": "Cable One Inc", "sector": "", "last_price": 109.07, "change_1d_pct": -4.215333274787048, "distance_from_ma200_pct": -16.75936190063708, "distance_from_ma50_pct": 10.817368262767314, "volatility_20d_pct": 160.67012152356216, "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": "WPP_CFD.UK",
"selection_reason": "Large 1D selloff (-9.08%) with deep technical oversold vs MA200 (-37.49%) and MA50 (-18.86%)",
"mean_reversion_score": 85
},
{
"symbol": "BYIT_CFD.UK",
"selection_reason": "Sharp pullback (-12.67% 1D) while trading well below MA200 (-28.03%) and MA50 (-14.35%)",
"mean_reversion_score": 82
},
{
"symbol": "UTG_CFD.UK",
"selection_reason": "Significant longer-term drawdown (MA200 distance -23.93%) and still below MA50 (-3.69%) with a bounce day (+3.46%) suggesting a short-term reversal attempt",
"mean_reversion_score": 74
},
{
"symbol": "TEP_CFD.FR",
"selection_reason": "Below MA200 (-21.37%) and MA50 (-5.00%) with mild positive 1D move (+0.99%) consistent with early mean-reversion stabilization",
"mean_reversion_score": 70
},
{
"symbol": "DPLM_CFD.UK",
"selection_reason": "Short-term dip (-5.43% 1D) with price below MA50 (-4.66%) and near MA200 (+4.82%)—setup for rebound back toward MA50",
"mean_reversion_score": 66
}
],
"rejected_common_reasons": [
"Extreme 1D gap moves (e.g., >~20% up/down) likely event-driven, increasing binary risk for mean-reversion",
"Already extended above MA50/MA200 (less mean-reversion edge for a long-bias setup)",
"Very high 20D volatility relative to peers in this snapshot, raising stop/whipsaw risk",
"Earnings timing unknown (cannot confirm avoidance of earnings within 5 trading days)"
]
}#1397 • openrouter • openai/gpt-5.2-pro • 2026-03-18T11:08:40.552479+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": "ADBE_CFD.US", "qty": 12.025494047380446, "avg_price": 249.47, "last_price": 254.13, "unrealized_pnl": 56.03880226079284, "opened_at": "2026-03-14T18:06:47.909233+00:00"}, {"symbol": "AMH_CFD.US", "qty": 0.0, "avg_price": 29.674999999999997, "last_price": 28.435000000000002, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "ARCAD_CFD.NL", "qty": 0.0, "avg_price": 28.6, "last_price": 30.0, "unrealized_pnl": 146.8531468531467, "opened_at": "2026-02-23T10:32:09.961595+00:00"}, {"symbol": "BYIT_CFD.UK", "qty": 0.0, "avg_price": 292.6, "last_price": 292.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "CABO_CFD.US", "qty": 0.0, "avg_price": 94.325, "last_price": 108.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-27T18:23:55.960577+00:00"}, {"symbol": "CRWD_CFD.US", "qty": 0.0, "avg_price": 350.45000000000005, "last_price": 382.96500000000003, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "CSGP_CFD.US", "qty": 63.51222610352493, "avg_price": 47.235, "last_price": 44.175, "unrealized_pnl": -194.34741187678642, "opened_at": "2026-03-03T18:03:34.247734+00:00"}, {"symbol": "DSY_CFD.FR", "qty": 0.0, "avg_price": 17.881, "last_price": 17.45, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "ETSY_CFD.US", "qty": 0.0, "avg_price": 44.13, "last_price": 50.769999999999996, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "EZJ_CFD.UK", "qty": 6.857142857142857, "avg_price": 437.5, "last_price": 361.6, "unrealized_pnl": -520.4571428571427, "opened_at": "2026-03-03T10:20:03.276878+00:00"}, {"symbol": "FBIN_CFD.US", "qty": 0.0, "avg_price": 50.974999999999994, "last_price": 54.185, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "FICO_CFD.US", "qty": 2.6609662855571625, "avg_price": 1127.4099999999999, "last_price": 1196.685, "unrealized_pnl": 184.3384394319727, "opened_at": "2026-03-14T18:06:47.909233+00:00"}, {"symbol": "FLO_CFD.US", "qty": 0.0, "avg_price": 9.875, "last_price": 9.885000000000002, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "FUTR_CFD.UK", "qty": 7.24287783679382, "avg_price": 414.2, "last_price": 414.2, "unrealized_pnl": 0.0, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "IWG_CFD.UK", "qty": 16.216216216216218, "avg_price": 185.0, "last_price": 185.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-17T10:04:29.123574+00:00"}, {"symbol": "MLCO_CFD.US", "qty": 0.0, "avg_price": 5.51, "last_price": 6.06, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "OCDO_CFD.UK", "qty": 14.684287812041115, "avg_price": 204.3, "last_price": 204.3, "unrealized_pnl": 0.0, "opened_at": "2026-03-12T18:01:52.554929+00:00"}, {"symbol": "PAGE_CFD.UK", "qty": 0.0, "avg_price": 151.91, "last_price": 152.7, "unrealized_pnl": 0.0, "opened_at": "2026-03-05T10:27:11.178069+00:00"}, {"symbol": "PAYC_CFD.US", "qty": 0.0, "avg_price": 121.22, "last_price": 134.24, "unrealized_pnl": 322.2240554363969, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "PSN_CFD.UK", "qty": 2.4691358024691357, "avg_price": 1215.0, "last_price": 1197.5, "unrealized_pnl": -43.20987654320987, "opened_at": "2026-03-12T18:01:52.554929+00:00"}, {"symbol": "RMV_CFD.UK", "qty": 0.0, "avg_price": 424.3, "last_price": 424.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "TMV_CFD.DE", "qty": 0.0, "avg_price": 4.781, "last_price": 4.467, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "TRN_CFD.UK", "qty": 0.0, "avg_price": 184.5, "last_price": 204.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-05T10:27:11.178069+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 0.0, "avg_price": 92.35, "last_price": 92.35, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T17:57:28.313088+00:00"}, {"symbol": "ULTA_CFD.US", "qty": 5.605381165919282, "avg_price": 535.2, "last_price": 522.59, "unrealized_pnl": -70.68385650224222, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "WPP_CFD.UK", "qty": 0.0, "avg_price": 263.4, "last_price": 238.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-28T10:51:05.818250+00:00"}, {"symbol": "ZS_CFD.US", "qty": 18.778167250876315, "avg_price": 159.76, "last_price": 155.89, "unrealized_pnl": -72.67150726089143, "opened_at": "2026-02-21T17:32:49.140800+00:00"}], "candidates": [{"symbol": "WPP_CFD.UK", "mean_reversion_score": 85, "selection_reason": "Large 1D selloff (-9.08%) with deep technical oversold vs MA200 (-37.49%) and MA50 (-18.86%)"}, {"symbol": "BYIT_CFD.UK", "mean_reversion_score": 82, "selection_reason": "Sharp pullback (-12.67% 1D) while trading well below MA200 (-28.03%) and MA50 (-14.35%)"}, {"symbol": "UTG_CFD.UK", "mean_reversion_score": 74, "selection_reason": "Significant longer-term drawdown (MA200 distance -23.93%) and still below MA50 (-3.69%) with a bounce day (+3.46%) suggesting a short-term reversal attempt"}, {"symbol": "TEP_CFD.FR", "mean_reversion_score": 70, "selection_reason": "Below MA200 (-21.37%) and MA50 (-5.00%) with mild positive 1D move (+0.99%) consistent with early mean-reversion stabilization"}, {"symbol": "DPLM_CFD.UK", "mean_reversion_score": 66, "selection_reason": "Short-term dip (-5.43% 1D) with price below MA50 (-4.66%) and near MA200 (+4.82%)—setup for rebound back toward MA50"}], "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 (85) among candidates, driven by a large 1D selloff (-9.08%) and deep oversold vs MA200 (-37.49%) and MA50 (-18.86%); fits the strategy’s mean-reversion entry profile.",
"symbol": "WPP_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Small unrealized gain and no provided risk/event trigger; avoid overtrading while maintaining diversification.",
"symbol": "ADBE_CFD.US"
},
{
"reason": "Currently in a moderate drawdown; mean-reversion framework supports allowing time for rebound absent a specific risk event.",
"symbol": "CSGP_CFD.US"
},
{
"reason": "Large drawdown but no new risk information provided; avoid forced churn and allow mean-reversion thesis time to play out.",
"symbol": "EZJ_CFD.UK"
},
{
"reason": "Position is in profit; no rule-based sell trigger provided, so hold to avoid unnecessary churn.",
"symbol": "FICO_CFD.US"
},
{
"reason": "Recently opened and approximately flat; keep as-is to limit turnover (only rotating one slot this run).",
"symbol": "IWG_CFD.UK"
},
{
"reason": "Approximately flat and recently opened; no clear improvement case to replace it this run.",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "Small unrealized loss; no additional signal/risk information to justify a sell.",
"symbol": "PSN_CFD.UK"
},
{
"reason": "Small unrealized loss; hold under mean-reversion approach absent a stronger replacement case than the single planned rotation.",
"symbol": "ULTA_CFD.US"
},
{
"reason": "Small unrealized loss; no explicit exit trigger provided, so hold to avoid overtrading.",
"symbol": "ZS_CFD.US"
}
],
"sell": [
{
"reason": "Position is approximately flat (last_price ~= avg_price). With max_positions already reached, rotating one slot into a higher mean-reversion-score, deeper-oversold setup (WPP) is a clearer use of the fixed position size than keeping a neutral/unchanged holding.",
"symbol": "FUTR_CFD.UK"
}
]
},
"portfolio_rationale": "Portfolio is already at the 10-position limit and near the intended gross exposure (fixed 3,000 per slot). To respect overtrading limits, make a single rotation: exit one approximately flat position (FUTR) and initiate the strongest mean-reversion candidate (WPP) based on the provided scores and oversold rationale. All other active positions are held due to lack of explicit risk/event triggers and to avoid churn."
}Selection logs
#695 • stage1 • 2026-03-18T11:08:40.549482+00:00
{
"selected_stocks": [
{
"symbol": "WPP_CFD.UK",
"selection_reason": "Large 1D selloff (-9.08%) with deep technical oversold vs MA200 (-37.49%) and MA50 (-18.86%)",
"mean_reversion_score": 85
},
{
"symbol": "BYIT_CFD.UK",
"selection_reason": "Sharp pullback (-12.67% 1D) while trading well below MA200 (-28.03%) and MA50 (-14.35%)",
"mean_reversion_score": 82
},
{
"symbol": "UTG_CFD.UK",
"selection_reason": "Significant longer-term drawdown (MA200 distance -23.93%) and still below MA50 (-3.69%) with a bounce day (+3.46%) suggesting a short-term reversal attempt",
"mean_reversion_score": 74
},
{
"symbol": "TEP_CFD.FR",
"selection_reason": "Below MA200 (-21.37%) and MA50 (-5.00%) with mild positive 1D move (+0.99%) consistent with early mean-reversion stabilization",
"mean_reversion_score": 70
},
{
"symbol": "DPLM_CFD.UK",
"selection_reason": "Short-term dip (-5.43% 1D) with price below MA50 (-4.66%) and near MA200 (+4.82%)—setup for rebound back toward MA50",
"mean_reversion_score": 66
}
],
"rejected_common_reasons": [
"Extreme 1D gap moves (e.g., >~20% up/down) likely event-driven, increasing binary risk for mean-reversion",
"Already extended above MA50/MA200 (less mean-reversion edge for a long-bias setup)",
"Very high 20D volatility relative to peers in this snapshot, raising stop/whipsaw risk",
"Earnings timing unknown (cannot confirm avoidance of earnings within 5 trading days)"
]
}