Arena run #886
meanrev-v1 • openai • openai/gpt-5.2-pro • EU • success
Run status
as_of: 2026-03-27T09:59:46.331143+00:00
started_at: 2026-03-27T10:48:09.235000+00:00
finished_at: 2026-03-27T10:50:48.297867+00:00
duration_ms: 159061
Inputs
{
"as_of": "2026-03-27T09:59:46.331143+00:00",
"dry_run": false,
"selected": [
{
"symbol": "PNE3_CFD.DE",
"selection_reason": "Deeply below trend: -36.33% vs MA200 and -15.53% vs MA50 with a -7.29% 1D selloff (bounce setup); 20D vol 80.95%",
"mean_reversion_score": 88
},
{
"symbol": "BYIT_CFD.UK",
"selection_reason": "Oversold vs both MAs: -28.03% vs MA200 and -14.35% vs MA50; sharp -12.67% 1D drop suggests short-term snapback potential; 20D vol 87.83%",
"mean_reversion_score": 84
},
{
"symbol": "STM_CFD.DE",
"selection_reason": "Sustained downtrend dislocation: -27.21% vs MA200 and -13.08% vs MA50; small -0.29% 1D move may indicate selling pressure easing; 20D vol 80.05%",
"mean_reversion_score": 80
},
{
"symbol": "BEN_CFD.FR",
"selection_reason": "Below key averages: -18.53% vs MA200 and -12.28% vs MA50 with a -2.88% 1D decline; 20D vol 82.14% supports mean-reversion horizon",
"mean_reversion_score": 76
},
{
"symbol": "EVD_CFD.DE",
"selection_reason": "Depressed longer-term: -22.47% vs MA200 and -5.46% vs MA50; modest +0.94% 1D uptick can be early reversal signal; 20D vol 51.67%",
"mean_reversion_score": 67
}
],
"simulate_only": false,
"strict_replay": false,
"universe_symbols": [
"BOY_CFD.UK",
"EVD_CFD.DE",
"SPX_CFD.UK",
"ESNT_CFD.UK",
"UTG_CFD.UK",
"INVP_CFD.UK",
"SAFE_CFD.UK",
"RHIM_CFD.UK",
"CBG_CFD.UK",
"RSW_CFD.UK",
"TPK_CFD.UK",
"HLAG_CFD.DE",
"EMG_CFD.UK",
"PZC_CFD.UK",
"DOM_CFD.UK",
"HWDN_CFD.UK",
"IMI_CFD.UK",
"STJ_CFD.UK",
"ABDN_CFD.UK",
"GMM_CFD.DE",
"SMIN_CFD.UK",
"BBY_CFD.UK",
"TRST_CFD.UK",
"CAR_CFD.US",
"WEW_CFD.DE",
"FRES_CFD.UK",
"KGF_CFD.UK",
"TESB_CFD.BE",
"BEN_CFD.FR",
"IPO_CFD.UK",
"GROW_CFD.UK",
"IWG_CFD.UK",
"BYIT_CFD.UK",
"INH_CFD.DE",
"WKP_CFD.UK",
"HIK_CFD.UK",
"RHK_CFD.DE",
"IFX_CFD.DE",
"PNE3_CFD.DE",
"GNRC_CFD.US",
"GXI_CFD.DE",
"GAW_CFD.UK",
"HOT_CFD.DE",
"STM_CFD.DE",
"WLN_CFD.FR",
"ATG_CFD.UK",
"ROR_CFD.UK",
"UKW_CFD.UK",
"HPP_CFD.US",
"FII_CFD.FR"
]
}Outputs
{
"actions": {
"buy": [],
"hold": [
{
"reason": "Maintain position; no new comparative signal provided to justify a rotation or forced risk reduction under the run’s max-trade/avoid-churn constraints.",
"symbol": "ADBE_CFD.US"
},
{
"reason": "Hold existing fixed-size position; it is also flagged as a high mean-reversion candidate (oversold vs MA50/MA200 in the provided signal), so no rotation or resizing is warranted.",
"symbol": "BYIT_CFD.UK"
},
{
"reason": "Hold; no candidate-level improvement evidence vs this position was provided, and selling purely to make room would be churn.",
"symbol": "CBG_CFD.UK"
},
{
"reason": "Hold; position is in drawdown but no updated mean-reversion ranking or risk event provided that would justify a stop/rotation within the strict overtrading limits.",
"symbol": "CSGP_CFD.US"
},
{
"reason": "Hold; despite larger unrealized loss, there is no explicit risk/event trigger or replacement with clearly superior risk-adjusted setup provided.",
"symbol": "EZJ_CFD.UK"
},
{
"reason": "Hold; no new data indicating thesis failure or a clearly better swap within the max 2 sells/buys and avoid-churn rules.",
"symbol": "FICO_CFD.US"
},
{
"reason": "Hold; no portfolio-level constraint breach and no explicit superior replacement case supported by provided signals.",
"symbol": "IWG_CFD.UK"
},
{
"reason": "Hold; no new signal provided to justify selling, and gross exposure appears within the leverage cap.",
"symbol": "PSN_CFD.UK"
},
{
"reason": "Hold; small drawdown and no clear improvement candidate-supported rotation case.",
"symbol": "ULTA_CFD.US"
},
{
"reason": "Hold; drawdown alone is insufficient for a sell under the strategy’s avoid-overtrading constraint without a clearer replacement/risk trigger.",
"symbol": "ZS_CFD.US"
}
],
"sell": []
},
"portfolio_rationale": "The portfolio is already at the 10-position limit, so adding any new mean-reversion candidates would require selling existing holdings. Given the information provided, there is not a sufficiently clear, evidence-backed improvement to justify rotating out of current positions (beyond drawdowns alone), and the strategy explicitly prioritizes avoiding churn. Therefore, all active positions are held and no buys/sells are executed this run."
}Prompts & responses
#1733 • openrouter • openai/gpt-5.2-pro • 2026-03-27T10:48:09.275182+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": "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": "EVD_CFD.DE", "name": "CTS EVENTIM AG & CO KGAA", "sector": "", "last_price": 63.975, "change_1d_pct": 0.9435599665493788, "distance_from_ma200_pct": -22.467462845129617, "distance_from_ma50_pct": -5.460126561514977, "volatility_20d_pct": 51.66516386670678, "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": 7608.71, "change_1d_pct": 10.91413994169097, "distance_from_ma200_pct": 15.905097055024719, "distance_from_ma50_pct": 8.459177525660632, "volatility_20d_pct": 84.71063298478786, "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": "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": "INVP_CFD.UK", "name": "INVESTEC PLC", "sector": "", "last_price": 623.5, "change_1d_pct": 8.529155787641418, "distance_from_ma200_pct": 17.34715626999408, "distance_from_ma50_pct": 9.569618971869698, "volatility_20d_pct": 76.97154585310399, "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": "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": "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": "HLAG_CFD.DE", "name": "HAPAG-LLOYD AG", "sector": "", "last_price": 133.6, "change_1d_pct": -4.724549830629343, "distance_from_ma200_pct": 8.15767527058544, "distance_from_ma50_pct": 3.723390214536604, "volatility_20d_pct": 88.33097209009259, "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": "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": "IMI_CFD.UK", "name": "IMI PLC", "sector": "", "last_price": 2676.0, "change_1d_pct": 1.5945330296127658, "distance_from_ma200_pct": 20.474719015003018, "distance_from_ma50_pct": 2.542022878213568, "volatility_20d_pct": 90.40898907393799, "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": "STJ_CFD.UK", "name": "ST JAMES'S PLACE PLC", "sector": "", "last_price": 1280.0, "change_1d_pct": -14.836992681304062, "distance_from_ma200_pct": 4.633703562254432, "distance_from_ma50_pct": -6.669417974449299, "volatility_20d_pct": 125.87476157380789, "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": "ABDN_CFD.UK", "name": "Aberdeen Group Plc", "sector": "", "last_price": 202.6, "change_1d_pct": -7.741347905282336, "distance_from_ma200_pct": 6.460345885775287, "distance_from_ma50_pct": -2.3285905331046353, "volatility_20d_pct": 82.55854119558269, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "GMM_CFD.DE", "name": "Grammer AG", "sector": "", "last_price": 6.95, "change_1d_pct": 0.7976794778825402, "distance_from_ma200_pct": 4.561357582541414, "distance_from_ma50_pct": 0.759684527951765, "volatility_20d_pct": 150.91182454105706, "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": 2432.0, "change_1d_pct": -3.0303030303030276, "distance_from_ma200_pct": 9.829954824076403, "distance_from_ma50_pct": -0.3810751569080062, "volatility_20d_pct": 77.44951166765263, "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": "TRST_CFD.UK", "name": "TRUSTPILOT AS", "sector": "", "last_price": 201.8, "change_1d_pct": 47.99061308301553, "distance_from_ma200_pct": -5.705098536536579, "distance_from_ma50_pct": 12.648695720131077, "volatility_20d_pct": 305.1263126393254, "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": "CAR_CFD.US", "name": "Avis Budget Group Inc", "sector": "", "last_price": 97.51, "change_1d_pct": 0.4739824832560524, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -16.342150395382205, "volatility_20d_pct": 9367.595274350311, "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": "WEW_CFD.DE", "name": "Westwing Group AG", "sector": "", "last_price": 14.9, "change_1d_pct": -6.874999999999998, "distance_from_ma200_pct": 20.113051371304103, "distance_from_ma50_pct": -7.477552439736224, "volatility_20d_pct": 94.58925893463632, "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": "FRES_CFD.UK", "name": "FRESNILLO PLC", "sector": "", "last_price": 3194.0, "change_1d_pct": 3.7686809616634287, "distance_from_ma200_pct": 23.012497495892646, "distance_from_ma50_pct": -14.661948297110438, "volatility_20d_pct": 124.46547376473896, "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": 298.6, "change_1d_pct": -16.592178770949715, "distance_from_ma200_pct": 1.7661505198389493, "distance_from_ma50_pct": -8.10124743477527, "volatility_20d_pct": 106.76236046208503, "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": "TESB_CFD.BE", "name": "Tessenderlo Chemie NV", "sector": "", "last_price": 21.1, "change_1d_pct": -14.747474747474742, "distance_from_ma200_pct": -18.03630525532953, "distance_from_ma50_pct": -19.349475160020567, "volatility_20d_pct": 105.76954265725848, "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": "BEN_CFD.FR", "name": "Beneteau", "sector": "", "last_price": 6.57, "change_1d_pct": -2.8824833702882358, "distance_from_ma200_pct": -18.534665545743334, "distance_from_ma50_pct": -12.28491781216956, "volatility_20d_pct": 82.13916120542028, "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": "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": "INH_CFD.DE", "name": "Indus Holding AG", "sector": "", "last_price": 27.25, "change_1d_pct": -6.67808219178082, "distance_from_ma200_pct": 6.680259101881414, "distance_from_ma50_pct": -10.307200307555785, "volatility_20d_pct": 75.14610538029346, "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": "HIK_CFD.UK", "name": "HIKMA PHARMACEUTICALS PLC", "sector": "", "last_price": 1267.0, "change_1d_pct": -19.55555555555556, "distance_from_ma200_pct": -28.881851790845626, "distance_from_ma50_pct": -15.711709832205766, "volatility_20d_pct": 155.5956600941246, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "RHK_CFD.DE", "name": "Rhoen-Klinikum AG", "sector": "", "last_price": 12.6, "change_1d_pct": -3.076923076923077, "distance_from_ma200_pct": 0.7750883981479717, "distance_from_ma50_pct": -2.62389949549906, "volatility_20d_pct": 110.36101413598887, "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": "IFX_CFD.DE", "name": "INFINEON TECHNOLOGIES AG", "sector": "", "last_price": 37.204, "change_1d_pct": -0.8659969623491248, "distance_from_ma200_pct": 0.5797855285575304, "distance_from_ma50_pct": -11.256943636089556, "volatility_20d_pct": 104.572964459329, "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": "PNE3_CFD.DE", "name": "PNE AG", "sector": "", "last_price": 7.427, "change_1d_pct": -7.28997628261141, "distance_from_ma200_pct": -36.33161396401069, "distance_from_ma50_pct": -15.534508366939848, "volatility_20d_pct": 80.94747069682411, "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": "GNRC_CFD.US", "name": "", "sector": "", "last_price": 201.63, "change_1d_pct": -2.064309306392076, "distance_from_ma200_pct": 16.780128091519764, "distance_from_ma50_pct": 1.4087482208329671, "volatility_20d_pct": 126.15125666748813, "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": "GXI_CFD.DE", "name": "GERRESHEIMER AG", "sector": "", "last_price": 20.24, "change_1d_pct": -1.1573961029447744, "distance_from_ma200_pct": -37.96570735720886, "distance_from_ma50_pct": -4.922068038970684, "volatility_20d_pct": 175.84634016633532, "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": "GAW_CFD.UK", "name": "", "sector": "", "last_price": 18310.0, "change_1d_pct": 6.268136970400473, "distance_from_ma200_pct": 9.806359154327659, "distance_from_ma50_pct": 5.486933677466932, "volatility_20d_pct": 60.72308604626657, "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": "HOT_CFD.DE", "name": "HOCHTIEF AG", "sector": "", "last_price": 377.414, "change_1d_pct": -3.127823408624242, "distance_from_ma200_pct": 34.82347157418284, "distance_from_ma50_pct": -1.0797528144439794, "volatility_20d_pct": 102.30824645559373, "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": "STM_CFD.DE", "name": "STABILUS SA", "sector": "", "last_price": 15.94, "change_1d_pct": -0.2939888659535872, "distance_from_ma200_pct": -27.20776474864759, "distance_from_ma50_pct": -13.078188187358498, "volatility_20d_pct": 80.0531300844419, "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": "WLN_CFD.FR", "name": "Worldline SA", "sector": "", "last_price": 0.282, "change_1d_pct": -15.315315315315326, "distance_from_ma200_pct": -87.35746324361764, "distance_from_ma50_pct": -76.23662256678183, "volatility_20d_pct": 433.4216965305222, "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": 313.0, "change_1d_pct": 0.3205128205128194, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 0.8343803356850588, "volatility_20d_pct": 2871.9337920464413, "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": "UKW_CFD.UK", "name": "GREENCOAT UK WIND PLC", "sector": "", "last_price": 100.7, "change_1d_pct": 1.6658253407370038, "distance_from_ma200_pct": -9.705655680854775, "distance_from_ma50_pct": -2.946868470357833, "volatility_20d_pct": 63.21786303082545, "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.22, "change_1d_pct": 7.612456747404828, "distance_from_ma200_pct": -56.74412620700926, "distance_from_ma50_pct": -15.555676233403027, "volatility_20d_pct": 194.1468201523552, "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": "FII_CFD.FR", "name": "Lisi Group", "sector": "", "last_price": 52.0, "change_1d_pct": 4.104104104104089, "distance_from_ma200_pct": 7.882127572483033, "distance_from_ma50_pct": -5.310445168374411, "volatility_20d_pct": 94.25445718195904, "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": "PNE3_CFD.DE",
"selection_reason": "Deeply below trend: -36.33% vs MA200 and -15.53% vs MA50 with a -7.29% 1D selloff (bounce setup); 20D vol 80.95%",
"mean_reversion_score": 88
},
{
"symbol": "BYIT_CFD.UK",
"selection_reason": "Oversold vs both MAs: -28.03% vs MA200 and -14.35% vs MA50; sharp -12.67% 1D drop suggests short-term snapback potential; 20D vol 87.83%",
"mean_reversion_score": 84
},
{
"symbol": "STM_CFD.DE",
"selection_reason": "Sustained downtrend dislocation: -27.21% vs MA200 and -13.08% vs MA50; small -0.29% 1D move may indicate selling pressure easing; 20D vol 80.05%",
"mean_reversion_score": 80
},
{
"symbol": "BEN_CFD.FR",
"selection_reason": "Below key averages: -18.53% vs MA200 and -12.28% vs MA50 with a -2.88% 1D decline; 20D vol 82.14% supports mean-reversion horizon",
"mean_reversion_score": 76
},
{
"symbol": "EVD_CFD.DE",
"selection_reason": "Depressed longer-term: -22.47% vs MA200 and -5.46% vs MA50; modest +0.94% 1D uptick can be early reversal signal; 20D vol 51.67%",
"mean_reversion_score": 67
}
],
"rejected_common_reasons": [
"1D move extremely large (≈±15% to ±50%+) suggesting event/binary risk (mean-reversion less reliable)",
"Volatility outliers/extreme 20D volatility suggesting unstable price action",
"Price dislocation extremely severe (e.g., very low price / distressed-looking levels) increasing gap/downside risk",
"Not meaningfully oversold for a long mean-reversion setup (near/above MA50 and/or MA200)",
"Key fields unknown (earnings timing, liquidity/ADV, sector); cannot confirm earnings-window or concentration constraints"
]
}#1734 • openrouter • openai/gpt-5.2-pro • 2026-03-27T10:49:28.531720+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": 240.77, "unrealized_pnl": -104.62179821220974, "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": 10.252904989747094, "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": 8.748396127376648, "avg_price": 342.92, "last_price": 342.92, "unrealized_pnl": 0.0, "opened_at": "2026-03-20T10:26:40.341409+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": 41.254999999999995, "unrealized_pnl": -379.8031120990793, "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": 354.3, "unrealized_pnl": -570.5142857142856, "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": 1041.125, "unrealized_pnl": -229.60147594929938, "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": 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": 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": 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": 1125.0, "unrealized_pnl": -222.2222222222222, "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.31, "unrealized_pnl": -77.85874439461939, "opened_at": "2026-03-15T18:15:23.812047+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": 141.32, "unrealized_pnl": -346.2694041061592, "opened_at": "2026-02-21T17:32:49.140800+00:00"}], "candidates": [{"symbol": "PNE3_CFD.DE", "mean_reversion_score": 88, "selection_reason": "Deeply below trend: -36.33% vs MA200 and -15.53% vs MA50 with a -7.29% 1D selloff (bounce setup); 20D vol 80.95%"}, {"symbol": "BYIT_CFD.UK", "mean_reversion_score": 84, "selection_reason": "Oversold vs both MAs: -28.03% vs MA200 and -14.35% vs MA50; sharp -12.67% 1D drop suggests short-term snapback potential; 20D vol 87.83%"}, {"symbol": "STM_CFD.DE", "mean_reversion_score": 80, "selection_reason": "Sustained downtrend dislocation: -27.21% vs MA200 and -13.08% vs MA50; small -0.29% 1D move may indicate selling pressure easing; 20D vol 80.05%"}, {"symbol": "BEN_CFD.FR", "mean_reversion_score": 76, "selection_reason": "Below key averages: -18.53% vs MA200 and -12.28% vs MA50 with a -2.88% 1D decline; 20D vol 82.14% supports mean-reversion horizon"}, {"symbol": "EVD_CFD.DE", "mean_reversion_score": 67, "selection_reason": "Depressed longer-term: -22.47% vs MA200 and -5.46% vs MA50; modest +0.94% 1D uptick can be early reversal signal; 20D vol 51.67%"}], "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": [],
"hold": [
{
"reason": "Maintain position; no new comparative signal provided to justify a rotation or forced risk reduction under the run’s max-trade/avoid-churn constraints.",
"symbol": "ADBE_CFD.US"
},
{
"reason": "Hold existing fixed-size position; it is also flagged as a high mean-reversion candidate (oversold vs MA50/MA200 in the provided signal), so no rotation or resizing is warranted.",
"symbol": "BYIT_CFD.UK"
},
{
"reason": "Hold; no candidate-level improvement evidence vs this position was provided, and selling purely to make room would be churn.",
"symbol": "CBG_CFD.UK"
},
{
"reason": "Hold; position is in drawdown but no updated mean-reversion ranking or risk event provided that would justify a stop/rotation within the strict overtrading limits.",
"symbol": "CSGP_CFD.US"
},
{
"reason": "Hold; despite larger unrealized loss, there is no explicit risk/event trigger or replacement with clearly superior risk-adjusted setup provided.",
"symbol": "EZJ_CFD.UK"
},
{
"reason": "Hold; no new data indicating thesis failure or a clearly better swap within the max 2 sells/buys and avoid-churn rules.",
"symbol": "FICO_CFD.US"
},
{
"reason": "Hold; no portfolio-level constraint breach and no explicit superior replacement case supported by provided signals.",
"symbol": "IWG_CFD.UK"
},
{
"reason": "Hold; no new signal provided to justify selling, and gross exposure appears within the leverage cap.",
"symbol": "PSN_CFD.UK"
},
{
"reason": "Hold; small drawdown and no clear improvement candidate-supported rotation case.",
"symbol": "ULTA_CFD.US"
},
{
"reason": "Hold; drawdown alone is insufficient for a sell under the strategy’s avoid-overtrading constraint without a clearer replacement/risk trigger.",
"symbol": "ZS_CFD.US"
}
],
"sell": []
},
"portfolio_rationale": "The portfolio is already at the 10-position limit, so adding any new mean-reversion candidates would require selling existing holdings. Given the information provided, there is not a sufficiently clear, evidence-backed improvement to justify rotating out of current positions (beyond drawdowns alone), and the strategy explicitly prioritizes avoiding churn. Therefore, all active positions are held and no buys/sells are executed this run."
}Selection logs
#852 • stage1 • 2026-03-27T10:49:28.529002+00:00
{
"selected_stocks": [
{
"symbol": "PNE3_CFD.DE",
"selection_reason": "Deeply below trend: -36.33% vs MA200 and -15.53% vs MA50 with a -7.29% 1D selloff (bounce setup); 20D vol 80.95%",
"mean_reversion_score": 88
},
{
"symbol": "BYIT_CFD.UK",
"selection_reason": "Oversold vs both MAs: -28.03% vs MA200 and -14.35% vs MA50; sharp -12.67% 1D drop suggests short-term snapback potential; 20D vol 87.83%",
"mean_reversion_score": 84
},
{
"symbol": "STM_CFD.DE",
"selection_reason": "Sustained downtrend dislocation: -27.21% vs MA200 and -13.08% vs MA50; small -0.29% 1D move may indicate selling pressure easing; 20D vol 80.05%",
"mean_reversion_score": 80
},
{
"symbol": "BEN_CFD.FR",
"selection_reason": "Below key averages: -18.53% vs MA200 and -12.28% vs MA50 with a -2.88% 1D decline; 20D vol 82.14% supports mean-reversion horizon",
"mean_reversion_score": 76
},
{
"symbol": "EVD_CFD.DE",
"selection_reason": "Depressed longer-term: -22.47% vs MA200 and -5.46% vs MA50; modest +0.94% 1D uptick can be early reversal signal; 20D vol 51.67%",
"mean_reversion_score": 67
}
],
"rejected_common_reasons": [
"1D move extremely large (≈±15% to ±50%+) suggesting event/binary risk (mean-reversion less reliable)",
"Volatility outliers/extreme 20D volatility suggesting unstable price action",
"Price dislocation extremely severe (e.g., very low price / distressed-looking levels) increasing gap/downside risk",
"Not meaningfully oversold for a long mean-reversion setup (near/above MA50 and/or MA200)",
"Key fields unknown (earnings timing, liquidity/ADV, sector); cannot confirm earnings-window or concentration constraints"
]
}