Arena run #1746
meanrev-v1 • openai • openai/gpt-5.2-pro • US • success
Run status
as_of: 2026-05-09T18:07:46.147407+00:00
started_at: 2026-05-09T20:08:36.237580+00:00
finished_at: 2026-05-09T20:12:30.925184+00:00
duration_ms: 234686
Inputs
{
"as_of": "2026-05-09T18:07:46.147407+00:00",
"dry_run": false,
"selected": [
{
"symbol": "CDW_CFD.US",
"selection_reason": "Very sharp selloff (1d -22.5%) with price well below trend (MA200 -26.0%, MA50 -15.4%); elevated 20d vol suggests oversold snapback potential.",
"mean_reversion_score": 86
},
{
"symbol": "TSCO_CFD.US",
"selection_reason": "Deeply below longer-term averages (MA200 -40.9%, MA50 -28.9%) with a continued down day (1d -4.9%); setup favors short-horizon mean reversion.",
"mean_reversion_score": 83
},
{
"symbol": "FMC_CFD.US",
"selection_reason": "Meaningful down move (1d -8.2%) and strongly extended below MA200 ( -38.1%) / below MA50 (-11.9%); volatility supports rebound trading window.",
"mean_reversion_score": 78
},
{
"symbol": "STNE_CFD.US",
"selection_reason": "Persistently depressed vs trend (MA200 -30.5%, MA50 -20.2%) with stabilization (1d -0.7%); candidate for 2–10 day reversion toward MA50.",
"mean_reversion_score": 72
},
{
"symbol": "MOS_CFD.US",
"selection_reason": "Moderate oversold positioning (MA200 -20.0%, MA50 -10.7%) with a small additional down day (1d -0.8%); fits mild mean-reversion long setup.",
"mean_reversion_score": 66
}
],
"simulate_only": false,
"strict_replay": false,
"universe_symbols": [
"JUP_CFD.UK",
"BOY_CFD.UK",
"ASHM_CFD.UK",
"N91_CFD.UK",
"CBG_CFD.UK",
"DLN_CFD.UK",
"GFTU_CFD.UK",
"TPK_CFD.UK",
"PNN_CFD.UK",
"SSPG_CFD.UK",
"MGNS_CFD.UK",
"INVP_CFD.UK",
"BRNK_CFD.DE",
"BNZL_CFD.UK",
"WKP_CFD.UK",
"OCDO_CFD.UK",
"SBT_CFD.FR",
"ATG_CFD.UK",
"MOS_CFD.US",
"CPG_CFD.UK",
"GPK_CFD.US",
"SPX_CFD.UK",
"BLND_CFD.UK",
"CTEC_CFD.UK",
"ECMPA_CFD.NL",
"PHP_CFD.UK",
"IWG_CFD.UK",
"MNDI_CFD.UK",
"GRI_CFD.UK",
"EXPE_CFD.US",
"FMC_CFD.US",
"GLW_CFD.US",
"TER_CFD.US",
"UKW_CFD.UK",
"NXI_CFD.FR",
"AKAM_CFD.US",
"STNE_CFD.US",
"SFM_CFD.US",
"J_CFD.US",
"APH_CFD.US",
"ALB_CFD.US",
"VSVS_CFD.UK",
"TSCO_CFD.US",
"CDW_CFD.US",
"SMIN_CFD.UK",
"OLN_CFD.US",
"WELL_CFD.US",
"AOS_CFD.US"
]
}Outputs
{
"actions": {
"buy": [
{
"reason": "Top mean-reversion score (86): very sharp selloff with price well below trend per candidate notes; fits short-horizon rebound profile.",
"symbol": "CDW_CFD.US",
"position_size": 3000
},
{
"reason": "High mean-reversion score (83): deeply below longer-term averages per candidate notes; complements CDW as a second oversold rebound entry within buy limits.",
"symbol": "TSCO_CFD.US",
"position_size": 3000
}
],
"hold": [
{
"reason": "Near entry with small unrealized gain; no stronger risk/rotation signal than trimming winners to fund top oversold candidates.",
"symbol": "ADBE_CFD.US"
},
{
"reason": "Large drawdown (last 74.5 vs avg 103.4); hold for potential mean-reversion rather than crystallizing loss this run.",
"symbol": "CRST_CFD.UK"
},
{
"reason": "Moderate drawdown (last 94.245 vs avg 99.8); hold for rebound/mean-reversion.",
"symbol": "DLTR_CFD.US"
},
{
"reason": "Close to entry (small unrealized loss); no clear improvement from exiting given limited sell budget and need to fund buys via trimming winners.",
"symbol": "FICO_CFD.US"
},
{
"reason": "Essentially flat vs entry; maintain position to avoid unnecessary churn.",
"symbol": "FIS_CFD.US"
},
{
"reason": "Near flat with small gain; keep to avoid overtrading.",
"symbol": "HAS_CFD.UK"
},
{
"reason": "Small drawdown (last 181.4 vs avg 186.0); hold for mean-reversion.",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "Down vs entry (last 521.37 vs avg 535.2); hold for potential snapback rather than selling into weakness.",
"symbol": "ULTA_CFD.US"
}
],
"sell": [
{
"reason": "Large unrealized gain (+~762) and position value appears above the fixed $3k sizing; rotate capital into higher mean-reversion candidates while staying within max positions/leverage.",
"symbol": "ICG_CFD.UK"
},
{
"reason": "Modest unrealized gain (+~138); free a slot to add higher-scoring, more clearly oversold mean-reversion setups (CDW/TSCO) without increasing total position count.",
"symbol": "PAGE_CFD.UK"
}
]
},
"portfolio_rationale": "Portfolio is already at the 10-position cap and near the 3.0x gross leverage limit, so new entries require trims. To avoid churn, sells are limited to two and focused on positions with realized reversion already (ICG, PAGE) to fund two higher-scoring oversold candidates (CDW, TSCO). Remaining holdings are kept to allow mean-reversion to play out and to respect the overtrading constraint."
}Prompts & responses
#2860 • openrouter • openai/gpt-5.2-pro • 2026-05-09T20:08:36.278279+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": "JUP_CFD.UK", "name": "JUPITER FUND MANAGEMENT", "sector": "", "last_price": 193.6, "change_1d_pct": 22.06809583858764, "distance_from_ma200_pct": 57.65825374753912, "distance_from_ma50_pct": 19.274691586205538, "volatility_20d_pct": 96.15961444303547, "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": "ASHM_CFD.UK", "name": "ASHMORE GROUP PLC", "sector": "", "last_price": 244.8, "change_1d_pct": 1.4084507042253502, "distance_from_ma200_pct": 40.45532080672305, "distance_from_ma50_pct": 24.88993054528128, "volatility_20d_pct": 134.25405461264828, "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": "N91_CFD.UK", "name": "NINETY ONE PLC", "sector": "", "last_price": 241.4, "change_1d_pct": -2.739726027397249, "distance_from_ma200_pct": 22.140556255617817, "distance_from_ma50_pct": 6.809338693563394, "volatility_20d_pct": 84.21236037483679, "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": "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": "GFTU_CFD.UK", "name": "GRAFTON GROUP PLC-UTS", "sector": "", "last_price": 955.8, "change_1d_pct": 1.0434175890393638, "distance_from_ma200_pct": 3.963270661870655, "distance_from_ma50_pct": 3.4837359036161253, "volatility_20d_pct": 51.04515943079597, "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": "PNN_CFD.UK", "name": "PENNON GROUP PLC", "sector": "", "last_price": 551.0, "change_1d_pct": 7.699224018295192, "distance_from_ma200_pct": 13.698549858568065, "distance_from_ma50_pct": 7.285607918028347, "volatility_20d_pct": 97.33547101641821, "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": "SSPG_CFD.UK", "name": "SSP GROUP PLC", "sector": "", "last_price": 165.4, "change_1d_pct": 15.261324041811841, "distance_from_ma200_pct": 1.4859967425081333, "distance_from_ma50_pct": -0.5180998115016378, "volatility_20d_pct": 172.20034161947044, "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": "MGNS_CFD.UK", "name": "MORGAN SINDALL GROUP PLC", "sector": "", "last_price": 4860.0, "change_1d_pct": 8.928311274976753, "distance_from_ma200_pct": 19.027421064583947, "distance_from_ma50_pct": 4.129720434840567, "volatility_20d_pct": 174.2493967907277, "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": "INVP_CFD.UK", "name": "INVESTEC PLC", "sector": "", "last_price": 642.0, "change_1d_pct": 9.369676320272568, "distance_from_ma200_pct": 20.33187982293969, "distance_from_ma50_pct": 11.734877154290203, "volatility_20d_pct": 115.28654302325035, "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": "BRNK_CFD.DE", "name": "Branicks Group AG", "sector": "", "last_price": 1.45, "change_1d_pct": 5.072463768115942, "distance_from_ma200_pct": -21.736689839803102, "distance_from_ma50_pct": -6.741616392894367, "volatility_20d_pct": 192.10029439414404, "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": "BNZL_CFD.UK", "name": "BUNZL PLC", "sector": "", "last_price": 2463.0, "change_1d_pct": 11.246612466124661, "distance_from_ma200_pct": 6.753831191506032, "distance_from_ma50_pct": 13.385480526561633, "volatility_20d_pct": 95.72449919502712, "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": "OCDO_CFD.UK", "name": "OCADO GROUP PLC", "sector": "", "last_price": 186.0, "change_1d_pct": -27.372120265521282, "distance_from_ma200_pct": -27.532109898724187, "distance_from_ma50_pct": -19.095469955276336, "volatility_20d_pct": 249.4549801604736, "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": "SBT_CFD.FR", "name": "Oeneo Bouchage", "sector": "", "last_price": 9.06, "change_1d_pct": -3.6170212765957444, "distance_from_ma200_pct": -2.470898704832891, "distance_from_ma50_pct": -2.093216767347117, "volatility_20d_pct": 44.82674811022072, "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": "MOS_CFD.US", "name": "MOSAIC CO/THE", "sector": "", "last_price": 22.68, "change_1d_pct": -0.8307826847398392, "distance_from_ma200_pct": -20.041178088180335, "distance_from_ma50_pct": -10.675604357518132, "volatility_20d_pct": 58.492818534138344, "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": "CPG_CFD.UK", "name": "COMPASS GROUP PLC", "sector": "", "last_price": 29.86, "change_1d_pct": 10.38817005545285, "distance_from_ma200_pct": -98.62792901945058, "distance_from_ma50_pct": -97.64592728075431, "volatility_20d_pct": 603.5168554995487, "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": "GPK_CFD.US", "name": "GRAPHIC PACKAGING HOLDING CO", "sector": "", "last_price": 10.83, "change_1d_pct": 3.3396946564885566, "distance_from_ma200_pct": -30.55310635378158, "distance_from_ma50_pct": 8.776440810751085, "volatility_20d_pct": 88.64166136593849, "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": "SPX_CFD.UK", "name": "SPIRAX-SARCO ENGINEERING PLC", "sector": "", "last_price": 7168.0, "change_1d_pct": 7.064973861090373, "distance_from_ma200_pct": 9.233977228616963, "distance_from_ma50_pct": 1.207072239512863, "volatility_20d_pct": 136.31219199190863, "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": 391.7, "change_1d_pct": 13.077367205542734, "distance_from_ma200_pct": 4.463250377902539, "distance_from_ma50_pct": -0.22954591071041586, "volatility_20d_pct": 119.37084138774277, "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": "CTEC_CFD.UK", "name": "CONVATEC GROUP PLC", "sector": "", "last_price": 207.6, "change_1d_pct": -9.344978165938866, "distance_from_ma200_pct": -16.703012133032836, "distance_from_ma50_pct": -11.110882751143869, "volatility_20d_pct": 116.55231905033538, "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": "ECMPA_CFD.NL", "name": "Eurocommercial Properties", "sector": "", "last_price": 27.55, "change_1d_pct": -1.0771992818671472, "distance_from_ma200_pct": 3.6903216093641333, "distance_from_ma50_pct": 1.1231830861841097, "volatility_20d_pct": 61.36817383080048, "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": 94.45, "change_1d_pct": 2.9427792915531326, "distance_from_ma200_pct": -1.7938096307572038, "distance_from_ma50_pct": -3.243122527295772, "volatility_20d_pct": 111.6461438724416, "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": 189.9, "change_1d_pct": -19.39728353140916, "distance_from_ma200_pct": -11.676534259760752, "distance_from_ma50_pct": -15.922856232068849, "volatility_20d_pct": 167.0810039928667, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MNDI_CFD.UK", "name": "MONDI PLC", "sector": "", "last_price": 791.2, "change_1d_pct": -6.698113207547163, "distance_from_ma200_pct": -16.479426249971617, "distance_from_ma50_pct": -7.4613389099806415, "volatility_20d_pct": 122.60907560467662, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "GRI_CFD.UK", "name": "GRAINGER PLC", "sector": "", "last_price": 192.4, "change_1d_pct": 0.08322929671245038, "distance_from_ma200_pct": -4.9312468607917275, "distance_from_ma50_pct": 0.9128310349964197, "volatility_20d_pct": 71.43116862190418, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "EXPE_CFD.US", "name": "EXPEDIA GROUP INC", "sector": "", "last_price": 233.75, "change_1d_pct": -5.237767057201925, "distance_from_ma200_pct": -1.3788398438769, "distance_from_ma50_pct": -2.492276554012385, "volatility_20d_pct": 110.18821210149012, "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": 13.55, "change_1d_pct": -8.19783197831978, "distance_from_ma200_pct": -38.09209429190834, "distance_from_ma50_pct": -11.930636439267882, "volatility_20d_pct": 102.63745619428188, "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": "GLW_CFD.US", "name": "CORNING INC", "sector": "", "last_price": 188.85, "change_1d_pct": 15.110325490674148, "distance_from_ma200_pct": 82.89928046057497, "distance_from_ma50_pct": 24.75557552055807, "volatility_20d_pct": 146.84474569423688, "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": "TER_CFD.US", "name": "Teradyne Inc", "sector": "", "last_price": 305.58, "change_1d_pct": 0.12450851900394078, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 17.197016104022467, "volatility_20d_pct": 6185.755685728551, "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": 100.4, "change_1d_pct": 3.976801988401002, "distance_from_ma200_pct": -9.084405711745047, "distance_from_ma50_pct": 0.06418459649417674, "volatility_20d_pct": 80.6750581480199, "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": "NXI_CFD.FR", "name": "Nexity SA", "sector": "", "last_price": 8.87, "change_1d_pct": 2.9002320185614883, "distance_from_ma200_pct": -3.8172723359173766, "distance_from_ma50_pct": 5.139882271780061, "volatility_20d_pct": 60.36558349705058, "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": 149.65, "change_1d_pct": 29.533454513979063, "distance_from_ma200_pct": 67.35414384628247, "distance_from_ma50_pct": 40.951064126376544, "volatility_20d_pct": 154.28386628635903, "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": "STNE_CFD.US", "name": "STONECO LTD-A", "sector": "", "last_price": 10.91, "change_1d_pct": -0.7279344858962755, "distance_from_ma200_pct": -30.477228265371803, "distance_from_ma50_pct": -20.212376954467683, "volatility_20d_pct": 128.5417491189962, "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": "SFM_CFD.US", "name": "SPROUTS FARMERS MARKET INC", "sector": "", "last_price": 83.96, "change_1d_pct": 5.823040080665476, "distance_from_ma200_pct": -11.859033241826022, "distance_from_ma50_pct": 8.726337517838312, "volatility_20d_pct": 109.60367883354618, "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": "J_CFD.US", "name": "", "sector": "", "last_price": 119.9, "change_1d_pct": -7.988642467961016, "distance_from_ma200_pct": -14.777321100786999, "distance_from_ma50_pct": -7.1698335250842575, "volatility_20d_pct": 89.92059814232583, "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": "APH_CFD.US", "name": "Amphenol Corporation", "sector": "", "last_price": 129.32, "change_1d_pct": -6.405153072302228, "distance_from_ma200_pct": -2.0376873106913607, "distance_from_ma50_pct": -5.5835102608208125, "volatility_20d_pct": 75.0166002676417, "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": "ALB_CFD.US", "name": "Albemarle Corp", "sector": "", "last_price": 206.33, "change_1d_pct": 5.340276714147141, "distance_from_ma200_pct": 55.2867137024927, "distance_from_ma50_pct": 14.528901159776497, "volatility_20d_pct": 129.20248363317458, "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": "VSVS_CFD.UK", "name": "VESUVIUS PLC", "sector": "", "last_price": 460.91, "change_1d_pct": 15.054917623564656, "distance_from_ma200_pct": 14.930204294042394, "distance_from_ma50_pct": 4.058627377052515, "volatility_20d_pct": 138.4878050269555, "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": "TSCO_CFD.US", "name": "TRACTOR SUPPLY COMPANY", "sector": "", "last_price": 30.97, "change_1d_pct": -4.941682013505222, "distance_from_ma200_pct": -40.941691123328326, "distance_from_ma50_pct": -28.859547567855635, "volatility_20d_pct": 73.43852653574369, "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": "CDW_CFD.US", "name": "CDW Corp", "sector": "", "last_price": 105.95, "change_1d_pct": -22.522851919561237, "distance_from_ma200_pct": -26.021248903759897, "distance_from_ma50_pct": -15.385807177072463, "volatility_20d_pct": 133.8807652870453, "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": "SMIN_CFD.UK", "name": "SMITHS GROUP PLC", "sector": "", "last_price": 2557.0, "change_1d_pct": 4.6235679214402525, "distance_from_ma200_pct": 14.883274190387418, "distance_from_ma50_pct": 3.9730049158046343, "volatility_20d_pct": 101.30183705216716, "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": "OLN_CFD.US", "name": "OLIN CORP", "sector": "", "last_price": 27.17, "change_1d_pct": -6.116102280580504, "distance_from_ma200_pct": 15.50446586092702, "distance_from_ma50_pct": 0.8447651285705904, "volatility_20d_pct": 108.09649885425287, "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": "WELL_CFD.US", "name": "WELLTOWER INC", "sector": "", "last_price": 217.23, "change_1d_pct": 1.4903756307232285, "distance_from_ma200_pct": 15.263300739159135, "distance_from_ma50_pct": 5.0618095993499646, "volatility_20d_pct": 42.5447144283932, "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": "AOS_CFD.US", "name": "SMITH (A.O.) CORP", "sector": "", "last_price": 59.31, "change_1d_pct": 1.2116040955631346, "distance_from_ma200_pct": -14.687648336473869, "distance_from_ma50_pct": -9.916067474095735, "volatility_20d_pct": 58.48398686369537, "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": "CDW_CFD.US",
"selection_reason": "Very sharp selloff (1d -22.5%) with price well below trend (MA200 -26.0%, MA50 -15.4%); elevated 20d vol suggests oversold snapback potential.",
"mean_reversion_score": 86
},
{
"symbol": "TSCO_CFD.US",
"selection_reason": "Deeply below longer-term averages (MA200 -40.9%, MA50 -28.9%) with a continued down day (1d -4.9%); setup favors short-horizon mean reversion.",
"mean_reversion_score": 83
},
{
"symbol": "FMC_CFD.US",
"selection_reason": "Meaningful down move (1d -8.2%) and strongly extended below MA200 ( -38.1%) / below MA50 (-11.9%); volatility supports rebound trading window.",
"mean_reversion_score": 78
},
{
"symbol": "STNE_CFD.US",
"selection_reason": "Persistently depressed vs trend (MA200 -30.5%, MA50 -20.2%) with stabilization (1d -0.7%); candidate for 2–10 day reversion toward MA50.",
"mean_reversion_score": 72
},
{
"symbol": "MOS_CFD.US",
"selection_reason": "Moderate oversold positioning (MA200 -20.0%, MA50 -10.7%) with a small additional down day (1d -0.8%); fits mild mean-reversion long setup.",
"mean_reversion_score": 66
}
],
"rejected_common_reasons": [
"Non-US listings in a US-only scan (symbols not ending in _CFD.US)",
"Large gap-ups/strong momentum (not a mean-reversion entry for long bias)",
"Apparent data/technical outliers (extreme volatility or implausible MA distances)",
"Not sufficiently dislocated vs MA50/MA200 to justify a mean-reversion trade",
"Earnings/news timing unknown; highly event-driven moves cannot be screened out with provided data"
]
}#2861 • openrouter • openai/gpt-5.2-pro • 2026-05-09T20:10:45.204374+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": 253.14, "unrealized_pnl": 44.13356315388609, "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": 0.0, "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": 0.0, "avg_price": 100.96000000000001, "last_price": 105.17, "unrealized_pnl": 0.0, "opened_at": "2026-04-03T18:06:55.972569+00:00"}, {"symbol": "COTY_CFD.US", "qty": 0.0, "avg_price": 2.005, "last_price": 2.175, "unrealized_pnl": 0.0, "opened_at": "2026-03-29T18:14:52.152268+00:00"}, {"symbol": "CRST_CFD.UK", "qty": 29.013539651837522, "avg_price": 103.4, "last_price": 74.5, "unrealized_pnl": -838.4912959381046, "opened_at": "2026-04-07T18:08:48.203875+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": "DLTR_CFD.US", "qty": 30.060120240480963, "avg_price": 99.8, "last_price": 94.245, "unrealized_pnl": -166.98396793587153, "opened_at": "2026-04-10T18:00:56.644490+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": 1123.245, "unrealized_pnl": -11.082924579345486, "opened_at": "2026-03-14T18:06:47.909233+00:00"}, {"symbol": "FIS_CFD.US", "qty": 68.88633754305397, "avg_price": 43.55, "last_price": 43.504999999999995, "unrealized_pnl": -3.099885189437546, "opened_at": "2026-04-10T18:00:56.644490+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": 297.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "HAS_CFD.UK", "qty": 92.36453201970444, "avg_price": 32.48, "last_price": 32.56, "unrealized_pnl": 7.389162561576854, "opened_at": "2026-04-07T18:08:48.203875+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": "ICG_CFD.UK", "qty": 2.0053475935828877, "avg_price": 1496.0, "last_price": 1876.0, "unrealized_pnl": 762.0320855614973, "opened_at": "2026-04-07T10:08:43.931517+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": 0.0, "avg_price": 185.0, "last_price": 172.2, "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": 16.129032258064516, "avg_price": 186.0, "last_price": 181.4, "unrealized_pnl": -74.19354838709668, "opened_at": "2026-03-12T18:01:52.554929+00:00"}, {"symbol": "PAGE_CFD.UK", "qty": 22.57336343115124, "avg_price": 132.9, "last_price": 139.0, "unrealized_pnl": 137.69751693002243, "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": 0.0, "avg_price": 1215.0, "last_price": 1087.73, "unrealized_pnl": 0.0, "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": 521.37, "unrealized_pnl": -77.5224215246639, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "UTG_CFD.UK", "qty": 0.0, "avg_price": 461.2, "last_price": 457.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": 0.0, "avg_price": 159.76, "last_price": 138.82, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}], "candidates": [{"symbol": "CDW_CFD.US", "mean_reversion_score": 86, "selection_reason": "Very sharp selloff (1d -22.5%) with price well below trend (MA200 -26.0%, MA50 -15.4%); elevated 20d vol suggests oversold snapback potential."}, {"symbol": "TSCO_CFD.US", "mean_reversion_score": 83, "selection_reason": "Deeply below longer-term averages (MA200 -40.9%, MA50 -28.9%) with a continued down day (1d -4.9%); setup favors short-horizon mean reversion."}, {"symbol": "FMC_CFD.US", "mean_reversion_score": 78, "selection_reason": "Meaningful down move (1d -8.2%) and strongly extended below MA200 ( -38.1%) / below MA50 (-11.9%); volatility supports rebound trading window."}, {"symbol": "STNE_CFD.US", "mean_reversion_score": 72, "selection_reason": "Persistently depressed vs trend (MA200 -30.5%, MA50 -20.2%) with stabilization (1d -0.7%); candidate for 2–10 day reversion toward MA50."}, {"symbol": "MOS_CFD.US", "mean_reversion_score": 66, "selection_reason": "Moderate oversold positioning (MA200 -20.0%, MA50 -10.7%) with a small additional down day (1d -0.8%); fits mild mean-reversion long 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": "Top mean-reversion score (86): very sharp selloff with price well below trend per candidate notes; fits short-horizon rebound profile.",
"symbol": "CDW_CFD.US",
"position_size": 3000
},
{
"reason": "High mean-reversion score (83): deeply below longer-term averages per candidate notes; complements CDW as a second oversold rebound entry within buy limits.",
"symbol": "TSCO_CFD.US",
"position_size": 3000
}
],
"hold": [
{
"reason": "Near entry with small unrealized gain; no stronger risk/rotation signal than trimming winners to fund top oversold candidates.",
"symbol": "ADBE_CFD.US"
},
{
"reason": "Large drawdown (last 74.5 vs avg 103.4); hold for potential mean-reversion rather than crystallizing loss this run.",
"symbol": "CRST_CFD.UK"
},
{
"reason": "Moderate drawdown (last 94.245 vs avg 99.8); hold for rebound/mean-reversion.",
"symbol": "DLTR_CFD.US"
},
{
"reason": "Close to entry (small unrealized loss); no clear improvement from exiting given limited sell budget and need to fund buys via trimming winners.",
"symbol": "FICO_CFD.US"
},
{
"reason": "Essentially flat vs entry; maintain position to avoid unnecessary churn.",
"symbol": "FIS_CFD.US"
},
{
"reason": "Near flat with small gain; keep to avoid overtrading.",
"symbol": "HAS_CFD.UK"
},
{
"reason": "Small drawdown (last 181.4 vs avg 186.0); hold for mean-reversion.",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "Down vs entry (last 521.37 vs avg 535.2); hold for potential snapback rather than selling into weakness.",
"symbol": "ULTA_CFD.US"
}
],
"sell": [
{
"reason": "Large unrealized gain (+~762) and position value appears above the fixed $3k sizing; rotate capital into higher mean-reversion candidates while staying within max positions/leverage.",
"symbol": "ICG_CFD.UK"
},
{
"reason": "Modest unrealized gain (+~138); free a slot to add higher-scoring, more clearly oversold mean-reversion setups (CDW/TSCO) without increasing total position count.",
"symbol": "PAGE_CFD.UK"
}
]
},
"portfolio_rationale": "Portfolio is already at the 10-position cap and near the 3.0x gross leverage limit, so new entries require trims. To avoid churn, sells are limited to two and focused on positions with realized reversion already (ICG, PAGE) to fund two higher-scoring oversold candidates (CDW, TSCO). Remaining holdings are kept to allow mean-reversion to play out and to respect the overtrading constraint."
}Selection logs
#1119 • stage1 • 2026-05-09T20:10:45.200350+00:00
{
"selected_stocks": [
{
"symbol": "CDW_CFD.US",
"selection_reason": "Very sharp selloff (1d -22.5%) with price well below trend (MA200 -26.0%, MA50 -15.4%); elevated 20d vol suggests oversold snapback potential.",
"mean_reversion_score": 86
},
{
"symbol": "TSCO_CFD.US",
"selection_reason": "Deeply below longer-term averages (MA200 -40.9%, MA50 -28.9%) with a continued down day (1d -4.9%); setup favors short-horizon mean reversion.",
"mean_reversion_score": 83
},
{
"symbol": "FMC_CFD.US",
"selection_reason": "Meaningful down move (1d -8.2%) and strongly extended below MA200 ( -38.1%) / below MA50 (-11.9%); volatility supports rebound trading window.",
"mean_reversion_score": 78
},
{
"symbol": "STNE_CFD.US",
"selection_reason": "Persistently depressed vs trend (MA200 -30.5%, MA50 -20.2%) with stabilization (1d -0.7%); candidate for 2–10 day reversion toward MA50.",
"mean_reversion_score": 72
},
{
"symbol": "MOS_CFD.US",
"selection_reason": "Moderate oversold positioning (MA200 -20.0%, MA50 -10.7%) with a small additional down day (1d -0.8%); fits mild mean-reversion long setup.",
"mean_reversion_score": 66
}
],
"rejected_common_reasons": [
"Non-US listings in a US-only scan (symbols not ending in _CFD.US)",
"Large gap-ups/strong momentum (not a mean-reversion entry for long bias)",
"Apparent data/technical outliers (extreme volatility or implausible MA distances)",
"Not sufficiently dislocated vs MA50/MA200 to justify a mean-reversion trade",
"Earnings/news timing unknown; highly event-driven moves cannot be screened out with provided data"
]
}