Arena run #1076
meanrev-v1 • openai • openai/gpt-5.2-pro • US • success
Run status
as_of: 2026-04-05T18:04:47.891107+00:00
started_at: 2026-04-05T19:03:02.727715+00:00
finished_at: 2026-04-05T19:05:32.053732+00:00
duration_ms: 149325
Inputs
{
"as_of": "2026-04-05T18:04:47.891107+00:00",
"dry_run": false,
"selected": [
{
"symbol": "AUTO_CFD.UK",
"selection_reason": "Severe 1D selloff (-38.63%) with deep extension below MA200 (-37.43%) and MA50 (-31.90%); elevated 20D volatility (130%) favors 2-10D snapback potential.",
"mean_reversion_score": 95
},
{
"symbol": "FUTR_CFD.UK",
"selection_reason": "Very large 1D drop (-30.75%) and extreme distance below MA200 (-45.18%) and MA50 (-32.27%); high 20D volatility (170%) consistent with mean-reversion setups.",
"mean_reversion_score": 93
},
{
"symbol": "IWG_CFD.UK",
"selection_reason": "Sharp 1D decline (-26.79%) with significant undercut of MA50 (-22.14%) and MA200 (-17.65%); elevated 20D volatility (154%) supports rebound odds over 2-10D.",
"mean_reversion_score": 90
},
{
"symbol": "EEFT_CFD.US",
"selection_reason": "Oversold vs MA200 (-21.62%) and below MA50 (-8.28%) with manageable 1D move (-3.13%); 20D volatility (71.85%) suggests potential grind-back mean reversion.",
"mean_reversion_score": 74
},
{
"symbol": "CCI_CFD.US",
"selection_reason": "Short-term pop (+7.53%) while still below MA200 (-7.29%); 20D volatility (60.76%) and proximity to MA50 (+1.15%) suggests potential partial reversion of the 1D impulse.",
"mean_reversion_score": 67
}
],
"simulate_only": false,
"strict_replay": false,
"universe_symbols": [
"CRST_CFD.UK",
"FUTR_CFD.UK",
"RS1_CFD.UK",
"MSLH_CFD.UK",
"BOY_CFD.UK",
"PHP_CFD.UK",
"ESNT_CFD.UK",
"ICG_CFD.UK",
"JDW_CFD.UK",
"MCG_CFD.UK",
"SHC_CFD.UK",
"SAFE_CFD.UK",
"LIO_CFD.UK",
"RHIM_CFD.UK",
"CBG_CFD.UK",
"RSW_CFD.UK",
"DLN_CFD.UK",
"TPK_CFD.UK",
"PZC_CFD.UK",
"DOM_CFD.UK",
"HWDN_CFD.UK",
"IEP_CFD.BE",
"MAB_CFD.UK",
"IPO_CFD.UK",
"CMCX_CFD.UK",
"GROW_CFD.UK",
"IWG_CFD.UK",
"BYIT_CFD.UK",
"WKP_CFD.UK",
"HBR_CFD.UK",
"UKW_CFD.UK",
"CCI_CFD.US",
"TFF_CFD.FR",
"ATG_CFD.UK",
"ROR_CFD.UK",
"BTRW_CFD.UK",
"CO_CFD.FR",
"ERA_CFD.FR",
"ADJ_CFD.DE",
"ITV_CFD.UK",
"DOCS_CFD.UK",
"AUTO_CFD.UK",
"PRU_CFD.UK",
"EEFT_CFD.US",
"THG_CFD.UK",
"KGF_CFD.UK"
]
}Outputs
{
"actions": {
"buy": [
{
"reason": "Add a new position in a top-ranked mean-reversion setup (score 93) characterized by a very large 1D drop and extreme distance below major moving averages, consistent with the strategy’s rebound profile.",
"symbol": "FUTR_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Keep position to avoid unnecessary churn; no replacement candidate provided that clearly dominates this holding while staying within trade limits.",
"symbol": "ADBE_CFD.US"
},
{
"reason": "Remain invested; it is the top-ranked current mean-reversion candidate (score 95) and was just initiated.",
"symbol": "AUTO_CFD.UK"
},
{
"reason": "Hold to avoid overtrading; no new information indicating a better risk/reward swap for this slot.",
"symbol": "CLX_CFD.US"
},
{
"reason": "Hold; position is modestly positive and no superior swap is clearly indicated within the provided candidate set.",
"symbol": "COTY_CFD.US"
},
{
"reason": "Hold to avoid churn; not enough candidate evidence to justify replacing this position today.",
"symbol": "FICO_CFD.US"
},
{
"reason": "Hold; it is a high-scoring mean-reversion candidate (score 90) and still fits the strategy setup.",
"symbol": "IWG_CFD.UK"
},
{
"reason": "Hold; no clear improvement versus current holdings is indicated by the limited candidate list.",
"symbol": "PAGE_CFD.UK"
},
{
"reason": "Hold for now to avoid exceeding sell limits and unnecessary churn; prioritize a single rotation this run.",
"symbol": "PSN_CFD.UK"
},
{
"reason": "Hold; position is near flat/positive and no stronger replacement is clearly justified from the provided candidates.",
"symbol": "ULTA_CFD.US"
}
],
"sell": [
{
"reason": "Position is the largest current drawdown and is not among the current highest-conviction mean-reversion candidates; rotate capital into a stronger, explicitly flagged oversold setup.",
"symbol": "ZS_CFD.US"
}
]
},
"portfolio_rationale": "Portfolio is at the max 10 positions and near the max gross leverage, so changes must be selective. Execute one high-conviction rotation: exit the weakest/least-supported holding (not in the current candidate list) and replace it with a top-scoring oversold mean-reversion candidate (FUTR). All other positions are held to minimize churn and remain within the run’s trade limits (<=2 sells, <=2 buys)."
}Prompts & responses
#2082 • openrouter • openai/gpt-5.2-pro • 2026-04-05T19:03:02.772476+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": "CRST_CFD.UK", "name": "CREST NICHOLSON HOLDINGS", "sector": "", "last_price": 167.8, "change_1d_pct": 24.85119047619049, "distance_from_ma200_pct": 1.2720261375977815, "distance_from_ma50_pct": 17.82963155418549, "volatility_20d_pct": 158.46878099582966, "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": 368.42, "change_1d_pct": -30.74812030075188, "distance_from_ma200_pct": -45.17933560634293, "distance_from_ma50_pct": -32.26659626501075, "volatility_20d_pct": 170.38116786538166, "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": "RS GROUP PLC", "sector": "", "last_price": 725.5, "change_1d_pct": 23.91118701964132, "distance_from_ma200_pct": 26.42587431420933, "distance_from_ma50_pct": 23.74236481466445, "volatility_20d_pct": 102.67597620645313, "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": 179.0, "change_1d_pct": 2.052451539338662, "distance_from_ma200_pct": -18.41965657865713, "distance_from_ma50_pct": 4.539832012082234, "volatility_20d_pct": 102.90810964969117, "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": "BOY_CFD.UK", "name": "BODYCOTE PLC", "sector": "", "last_price": 775.4, "change_1d_pct": 24.163330664531625, "distance_from_ma200_pct": 28.652243313347768, "distance_from_ma50_pct": 18.63612217470385, "volatility_20d_pct": 103.46484337510964, "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": "PHP_CFD.UK", "name": "PRIMARY HEALTH PROPERTIES", "sector": "", "last_price": 107.7, "change_1d_pct": 10.518214468958442, "distance_from_ma200_pct": 11.915056783642308, "distance_from_ma50_pct": 10.278080977082226, "volatility_20d_pct": 53.84238650296991, "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": "ICG_CFD.UK", "name": "ICG Plc", "sector": "", "last_price": 1693.0, "change_1d_pct": -15.18545979199647, "distance_from_ma200_pct": -16.18296530905513, "distance_from_ma50_pct": -12.256151916578562, "volatility_20d_pct": 73.10253575454833, "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": "JDW_CFD.UK", "name": "WETHERSPOON (J.D.) PLC", "sector": "", "last_price": 748.5, "change_1d_pct": 9.750733137829904, "distance_from_ma200_pct": 6.242631058659898, "distance_from_ma50_pct": 5.290077328071208, "volatility_20d_pct": 98.2373545531062, "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": 19.51, "change_1d_pct": -21.646586345381515, "distance_from_ma200_pct": -29.294942649537013, "distance_from_ma50_pct": -17.188746837807088, "volatility_20d_pct": 260.52106739031456, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SHC_CFD.UK", "name": "SHAFTESBURY CAPITAL PLC", "sector": "", "last_price": 140.4, "change_1d_pct": -2.9045643153526868, "distance_from_ma200_pct": 0.26963533347688085, "distance_from_ma50_pct": -0.771073778544229, "volatility_20d_pct": 63.75522821252001, "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": 708.0, "change_1d_pct": 0.14144271570013522, "distance_from_ma200_pct": 7.079918522466522, "distance_from_ma50_pct": -2.535991476029087, "volatility_20d_pct": 107.99712610776675, "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": 257.5, "change_1d_pct": 3.8306451612903247, "distance_from_ma200_pct": -20.8874735683513, "distance_from_ma50_pct": 0.10846703807232405, "volatility_20d_pct": 141.21527367452939, "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": 2550.0, "change_1d_pct": -6.764168190127973, "distance_from_ma200_pct": -2.35709026809392, "distance_from_ma50_pct": 0.9429816244979738, "volatility_20d_pct": 151.25590362229855, "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": "DLN_CFD.UK", "name": "DERWENT LONDON PLC", "sector": "", "last_price": 1953.0, "change_1d_pct": 10.401356698699837, "distance_from_ma200_pct": 5.069478604951705, "distance_from_ma50_pct": 12.150447212111025, "volatility_20d_pct": 115.39088732649292, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "TPK_CFD.UK", "name": "TRAVIS PERKINS PLC", "sector": "", "last_price": 601.57, "change_1d_pct": -1.21029986533977, "distance_from_ma200_pct": 0.5267641208837714, "distance_from_ma50_pct": -4.983077425595306, "volatility_20d_pct": 108.19399806448348, "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": 77.7, "change_1d_pct": -13.858093126385807, "distance_from_ma200_pct": 2.9808107121248817, "distance_from_ma50_pct": 2.5905093876257723, "volatility_20d_pct": 92.73478468401771, "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": 183.13, "change_1d_pct": -0.3102885138813294, "distance_from_ma200_pct": -15.070952368916624, "distance_from_ma50_pct": 1.0777282376278619, "volatility_20d_pct": 87.92203351330001, "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": "HWDN_CFD.UK", "name": "HOWDEN JOINERY GROUP PLC", "sector": "", "last_price": 843.0, "change_1d_pct": -2.686229466563539, "distance_from_ma200_pct": 2.9144756901175572, "distance_from_ma50_pct": 0.6796292983215046, "volatility_20d_pct": 44.16384759940265, "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": "IEP_CFD.BE", "name": "IEP Invest NV", "sector": "", "last_price": 5.4, "change_1d_pct": 0.0, "distance_from_ma200_pct": 0.9951765451794659, "distance_from_ma50_pct": 0.5657756042326989, "volatility_20d_pct": 138.39532879660115, "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": "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": "CMCX_CFD.UK", "name": "CMC MARKETS PLC", "sector": "", "last_price": 336.5, "change_1d_pct": 6.487341772151889, "distance_from_ma200_pct": 33.727269096422944, "distance_from_ma50_pct": 13.399699398122245, "volatility_20d_pct": 207.2492443353413, "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": "IWG_CFD.UK", "name": "IWG PLC", "sector": "", "last_price": 177.0, "change_1d_pct": -26.786896095301127, "distance_from_ma200_pct": -17.645939421376646, "distance_from_ma50_pct": -22.14236071400294, "volatility_20d_pct": 154.02502086657427, "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": "HBR_CFD.UK", "name": "HARBOUR ENERGY PLC", "sector": "", "last_price": 294.8, "change_1d_pct": 3.2936229852838173, "distance_from_ma200_pct": 33.38470243062854, "distance_from_ma50_pct": 15.459330743200915, "volatility_20d_pct": 160.28632234498426, "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": "UKW_CFD.UK", "name": "GREENCOAT UK WIND PLC", "sector": "", "last_price": 98.75, "change_1d_pct": -0.05060728744938903, "distance_from_ma200_pct": -11.408996180942744, "distance_from_ma50_pct": -4.589556348683388, "volatility_20d_pct": 64.15684506219812, "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": "CCI_CFD.US", "name": "Crown Castle", "sector": "", "last_price": 86.64, "change_1d_pct": 7.533821521658202, "distance_from_ma200_pct": -7.285087120877709, "distance_from_ma50_pct": 1.1468918111177562, "volatility_20d_pct": 60.76128339441084, "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": "TFF Group", "sector": "", "last_price": 16.2, "change_1d_pct": 7.284768211920523, "distance_from_ma200_pct": -10.471615633645426, "distance_from_ma50_pct": -4.571496566341082, "volatility_20d_pct": 104.31410919918365, "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": 326.5, "change_1d_pct": 12.006861063464846, "distance_from_ma200_pct": -24.987260470422935, "distance_from_ma50_pct": 5.84429056770146, "volatility_20d_pct": 172.45012969704524, "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": "BTRW_CFD.UK", "name": "Barratt Redrow Plc", "sector": "", "last_price": 265.0, "change_1d_pct": -24.458380843785633, "distance_from_ma200_pct": -31.60081201451096, "distance_from_ma50_pct": -26.246873145735073, "volatility_20d_pct": 135.16950343577923, "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": "CO_CFD.FR", "name": "Casino Guichard Perrachon", "sector": "", "last_price": 0.161, "change_1d_pct": 0.6250000000000089, "distance_from_ma200_pct": -54.63319103371514, "distance_from_ma50_pct": -21.973441892022873, "volatility_20d_pct": 159.06564182763353, "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": "ERA_CFD.FR", "name": "Eramet", "sector": "", "last_price": 51.95, "change_1d_pct": 2.9528339278636517, "distance_from_ma200_pct": -7.215615638678486, "distance_from_ma50_pct": -11.840073311045863, "volatility_20d_pct": 94.50049855306494, "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.174, "change_1d_pct": 0.5780346820809301, "distance_from_ma200_pct": -13.818722139673124, "distance_from_ma50_pct": -5.793178126691922, "volatility_20d_pct": 294.59302160430366, "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": "ITV_CFD.UK", "name": "ITV PLC", "sector": "", "last_price": 77.2, "change_1d_pct": -8.313539192399045, "distance_from_ma200_pct": -3.1613066700786008, "distance_from_ma50_pct": -5.057064147973234, "volatility_20d_pct": 145.60286782433963, "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": "DOCS_CFD.UK", "name": "DR. MARTENS PLC", "sector": "", "last_price": 64.4, "change_1d_pct": -3.7369207772795177, "distance_from_ma200_pct": -14.81943439575366, "distance_from_ma50_pct": -12.617301774248702, "volatility_20d_pct": 126.3056770096304, "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": "AUTO_CFD.UK", "name": "AUTOTRADER GROUP PLC", "sector": "", "last_price": 490.4, "change_1d_pct": -38.63326367424575, "distance_from_ma200_pct": -37.426260695289436, "distance_from_ma50_pct": -31.896720766000808, "volatility_20d_pct": 130.06763966702516, "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": "PRU_CFD.UK", "name": "PRUDENTIAL PLC", "sector": "", "last_price": 1083.5, "change_1d_pct": 1.5939990623534905, "distance_from_ma200_pct": 3.4579741725546453, "distance_from_ma50_pct": -3.3089489241012404, "volatility_20d_pct": 106.75001496511642, "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": "EEFT_CFD.US", "name": "Euronet Worldwide Inc", "sector": "", "last_price": 64.79, "change_1d_pct": -3.124999999999989, "distance_from_ma200_pct": -21.62251909989893, "distance_from_ma50_pct": -8.277791305431137, "volatility_20d_pct": 71.85042530060264, "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": 34.98, "change_1d_pct": -1.4092446448703444, "distance_from_ma200_pct": 2.565906951786978, "distance_from_ma50_pct": -19.407978103299726, "volatility_20d_pct": 5100.825736148672, "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": 288.9, "change_1d_pct": -19.683069224353634, "distance_from_ma200_pct": -1.601320156743069, "distance_from_ma50_pct": -11.033453146133033, "volatility_20d_pct": 108.51503014907387, "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": "AUTO_CFD.UK",
"selection_reason": "Severe 1D selloff (-38.63%) with deep extension below MA200 (-37.43%) and MA50 (-31.90%); elevated 20D volatility (130%) favors 2-10D snapback potential.",
"mean_reversion_score": 95
},
{
"symbol": "FUTR_CFD.UK",
"selection_reason": "Very large 1D drop (-30.75%) and extreme distance below MA200 (-45.18%) and MA50 (-32.27%); high 20D volatility (170%) consistent with mean-reversion setups.",
"mean_reversion_score": 93
},
{
"symbol": "IWG_CFD.UK",
"selection_reason": "Sharp 1D decline (-26.79%) with significant undercut of MA50 (-22.14%) and MA200 (-17.65%); elevated 20D volatility (154%) supports rebound odds over 2-10D.",
"mean_reversion_score": 90
},
{
"symbol": "EEFT_CFD.US",
"selection_reason": "Oversold vs MA200 (-21.62%) and below MA50 (-8.28%) with manageable 1D move (-3.13%); 20D volatility (71.85%) suggests potential grind-back mean reversion.",
"mean_reversion_score": 74
},
{
"symbol": "CCI_CFD.US",
"selection_reason": "Short-term pop (+7.53%) while still below MA200 (-7.29%); 20D volatility (60.76%) and proximity to MA50 (+1.15%) suggests potential partial reversion of the 1D impulse.",
"mean_reversion_score": 67
}
],
"rejected_common_reasons": [
"Earnings timing unknown (cannot screen out earnings within 5 trading days).",
"Missing liquidity fields (avg_daily_volume_usd/market_cap_usd) makes 'liquid equities' constraint unverifiable.",
"Some names show extreme 1D moves/very high 20D volatility, increasing probability of event-driven (non-mean-reverting) behavior.",
"Several symbols are near key moving averages (limited mean-reversion edge vs MA50/MA200).",
"Sector data missing (sector concentration constraint cannot be reliably enforced)."
]
}#2083 • openrouter • openai/gpt-5.2-pro • 2026-04-05T19:04:18.318985+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": "ADBE_CFD.US", "qty": 12.025494047380446, "avg_price": 249.47, "last_price": 242.93, "unrealized_pnl": -78.64673106986803, "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": "AUTO_CFD.UK", "qty": 6.2137531068765535, "avg_price": 482.8, "last_price": 482.8, "unrealized_pnl": 0.0, "opened_at": "2026-04-03T10:08:21.824313+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": "CBG_CFD.UK", "qty": 0.0, "avg_price": 342.92, "last_price": 342.92, "unrealized_pnl": 0.0, "opened_at": "2026-03-20T10:26:40.341409+00:00"}, {"symbol": "CLX_CFD.US", "qty": 29.714738510301107, "avg_price": 100.96000000000001, "last_price": 100.96000000000001, "unrealized_pnl": 0.0, "opened_at": "2026-04-03T18:06:55.972569+00:00"}, {"symbol": "COTY_CFD.US", "qty": 1496.2593516209477, "avg_price": 2.005, "last_price": 2.045, "unrealized_pnl": 59.85037406483796, "opened_at": "2026-03-29T18:14:52.152268+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": 0.0, "avg_price": 47.235, "last_price": 40.870000000000005, "unrealized_pnl": 0.0, "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": "EEFT_CFD.US", "qty": 0.0, "avg_price": 63.91, "last_price": 63.91, "unrealized_pnl": 0.0, "opened_at": "2026-04-03T18:06:55.972569+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": 0.0, "avg_price": 437.5, "last_price": 348.5, "unrealized_pnl": 0.0, "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": 1086.08, "unrealized_pnl": -109.97773658207733, "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": 0.0, "avg_price": 284.2, "last_price": 284.2, "unrealized_pnl": 0.0, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "HIK_CFD.UK", "qty": 0.0, "avg_price": 1236.0, "last_price": 1236.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-28T10:05:22.022266+00:00"}, {"symbol": "ITRK_CFD.UK", "qty": 0.0, "avg_price": 3620.0, "last_price": 3620.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-28T10:05:22.022266+00:00"}, {"symbol": "IWG_CFD.UK", "qty": 16.216216216216218, "avg_price": 185.0, "last_price": 172.2, "unrealized_pnl": -207.56756756756778, "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": 0.0, "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": 22.57336343115124, "avg_price": 132.9, "last_price": 132.9, "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": 1066.5, "unrealized_pnl": -366.66666666666663, "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": 537.38, "unrealized_pnl": 12.219730941703755, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "UTG_CFD.UK", "qty": 0.0, "avg_price": 461.2, "last_price": 461.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-30T10:23:56.039732+00:00"}, {"symbol": "WPP_CFD.UK", "qty": 0.0, "avg_price": 232.09999999999997, "last_price": 232.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": 138.82, "unrealized_pnl": -393.21482223335, "opened_at": "2026-02-21T17:32:49.140800+00:00"}], "candidates": [{"symbol": "AUTO_CFD.UK", "mean_reversion_score": 95, "selection_reason": "Severe 1D selloff (-38.63%) with deep extension below MA200 (-37.43%) and MA50 (-31.90%); elevated 20D volatility (130%) favors 2-10D snapback potential."}, {"symbol": "FUTR_CFD.UK", "mean_reversion_score": 93, "selection_reason": "Very large 1D drop (-30.75%) and extreme distance below MA200 (-45.18%) and MA50 (-32.27%); high 20D volatility (170%) consistent with mean-reversion setups."}, {"symbol": "IWG_CFD.UK", "mean_reversion_score": 90, "selection_reason": "Sharp 1D decline (-26.79%) with significant undercut of MA50 (-22.14%) and MA200 (-17.65%); elevated 20D volatility (154%) supports rebound odds over 2-10D."}, {"symbol": "EEFT_CFD.US", "mean_reversion_score": 74, "selection_reason": "Oversold vs MA200 (-21.62%) and below MA50 (-8.28%) with manageable 1D move (-3.13%); 20D volatility (71.85%) suggests potential grind-back mean reversion."}, {"symbol": "CCI_CFD.US", "mean_reversion_score": 67, "selection_reason": "Short-term pop (+7.53%) while still below MA200 (-7.29%); 20D volatility (60.76%) and proximity to MA50 (+1.15%) suggests potential partial reversion of the 1D impulse."}], "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": "Add a new position in a top-ranked mean-reversion setup (score 93) characterized by a very large 1D drop and extreme distance below major moving averages, consistent with the strategy’s rebound profile.",
"symbol": "FUTR_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Keep position to avoid unnecessary churn; no replacement candidate provided that clearly dominates this holding while staying within trade limits.",
"symbol": "ADBE_CFD.US"
},
{
"reason": "Remain invested; it is the top-ranked current mean-reversion candidate (score 95) and was just initiated.",
"symbol": "AUTO_CFD.UK"
},
{
"reason": "Hold to avoid overtrading; no new information indicating a better risk/reward swap for this slot.",
"symbol": "CLX_CFD.US"
},
{
"reason": "Hold; position is modestly positive and no superior swap is clearly indicated within the provided candidate set.",
"symbol": "COTY_CFD.US"
},
{
"reason": "Hold to avoid churn; not enough candidate evidence to justify replacing this position today.",
"symbol": "FICO_CFD.US"
},
{
"reason": "Hold; it is a high-scoring mean-reversion candidate (score 90) and still fits the strategy setup.",
"symbol": "IWG_CFD.UK"
},
{
"reason": "Hold; no clear improvement versus current holdings is indicated by the limited candidate list.",
"symbol": "PAGE_CFD.UK"
},
{
"reason": "Hold for now to avoid exceeding sell limits and unnecessary churn; prioritize a single rotation this run.",
"symbol": "PSN_CFD.UK"
},
{
"reason": "Hold; position is near flat/positive and no stronger replacement is clearly justified from the provided candidates.",
"symbol": "ULTA_CFD.US"
}
],
"sell": [
{
"reason": "Position is the largest current drawdown and is not among the current highest-conviction mean-reversion candidates; rotate capital into a stronger, explicitly flagged oversold setup.",
"symbol": "ZS_CFD.US"
}
]
},
"portfolio_rationale": "Portfolio is at the max 10 positions and near the max gross leverage, so changes must be selective. Execute one high-conviction rotation: exit the weakest/least-supported holding (not in the current candidate list) and replace it with a top-scoring oversold mean-reversion candidate (FUTR). All other positions are held to minimize churn and remain within the run’s trade limits (<=2 sells, <=2 buys)."
}Selection logs
#1011 • stage1 • 2026-04-05T19:04:18.316103+00:00
{
"selected_stocks": [
{
"symbol": "AUTO_CFD.UK",
"selection_reason": "Severe 1D selloff (-38.63%) with deep extension below MA200 (-37.43%) and MA50 (-31.90%); elevated 20D volatility (130%) favors 2-10D snapback potential.",
"mean_reversion_score": 95
},
{
"symbol": "FUTR_CFD.UK",
"selection_reason": "Very large 1D drop (-30.75%) and extreme distance below MA200 (-45.18%) and MA50 (-32.27%); high 20D volatility (170%) consistent with mean-reversion setups.",
"mean_reversion_score": 93
},
{
"symbol": "IWG_CFD.UK",
"selection_reason": "Sharp 1D decline (-26.79%) with significant undercut of MA50 (-22.14%) and MA200 (-17.65%); elevated 20D volatility (154%) supports rebound odds over 2-10D.",
"mean_reversion_score": 90
},
{
"symbol": "EEFT_CFD.US",
"selection_reason": "Oversold vs MA200 (-21.62%) and below MA50 (-8.28%) with manageable 1D move (-3.13%); 20D volatility (71.85%) suggests potential grind-back mean reversion.",
"mean_reversion_score": 74
},
{
"symbol": "CCI_CFD.US",
"selection_reason": "Short-term pop (+7.53%) while still below MA200 (-7.29%); 20D volatility (60.76%) and proximity to MA50 (+1.15%) suggests potential partial reversion of the 1D impulse.",
"mean_reversion_score": 67
}
],
"rejected_common_reasons": [
"Earnings timing unknown (cannot screen out earnings within 5 trading days).",
"Missing liquidity fields (avg_daily_volume_usd/market_cap_usd) makes 'liquid equities' constraint unverifiable.",
"Some names show extreme 1D moves/very high 20D volatility, increasing probability of event-driven (non-mean-reverting) behavior.",
"Several symbols are near key moving averages (limited mean-reversion edge vs MA50/MA200).",
"Sector data missing (sector concentration constraint cannot be reliably enforced)."
]
}