Arena run #799
meanrev-v1 • minimax • minimax/minimax-m2.1 • EU • success
Run status
as_of: 2026-03-23T10:03:51.599067+00:00
started_at: 2026-03-23T10:24:57.547556+00:00
finished_at: 2026-03-23T10:26:34.517654+00:00
duration_ms: 96968
Inputs
{
"as_of": "2026-03-23T10:03:51.599067+00:00",
"dry_run": false,
"selected": [
{
"symbol": "CRST_CFD.UK",
"selection_reason": "Large positive deviation from MA50 (+17.8%) with high recent move (+24.9%); strong mean reversion candidate",
"mean_reversion_score": 92
},
{
"symbol": "LMP_CFD.UK",
"selection_reason": "Substantial distance from MA50 (+10.8%) and MA200 (+12.5%); solid reversion potential",
"mean_reversion_score": 87
},
{
"symbol": "SPX_CFD.UK",
"selection_reason": "Notable deviation from MA50 (+8.5%) and MA200 (+15.9%); moderate reversion setup",
"mean_reversion_score": 85
},
{
"symbol": "INVP_CFD.UK",
"selection_reason": "Significant distance from MA50 (+9.6%) and MA200 (+17.3%); good reversion candidate",
"mean_reversion_score": 83
},
{
"symbol": "PAG_CFD.UK",
"selection_reason": "Near MA50/MA200 but with negative 1d change (-3.4%); potential bounce candidate",
"mean_reversion_score": 81
}
],
"simulate_only": false,
"strict_replay": false,
"universe_symbols": [
"CRST_CFD.UK",
"MSLH_CFD.UK",
"LMP_CFD.UK",
"SPX_CFD.UK",
"ESNT_CFD.UK",
"JDW_CFD.UK",
"UTG_CFD.UK",
"PAG_CFD.UK",
"INVP_CFD.UK",
"BME_CFD.UK",
"RHIM_CFD.UK",
"CBG_CFD.UK",
"ANTO_CFD.UK",
"IWG_CFD.UK",
"SYNT_CFD.UK",
"EMG_CFD.UK",
"ABDN_CFD.UK",
"OCDO_CFD.UK",
"HWDN_CFD.UK",
"JMAT_CFD.UK",
"IMI_CFD.UK",
"FUR_CFD.NL",
"DCC_CFD.UK",
"ALTA_CFD.FR",
"BPOST_CFD.BE",
"COV_CFD.FR",
"STJ_CFD.UK",
"LIO_CFD.UK",
"OPTU_CFD.US",
"ADM_CFD.UK",
"SMIN_CFD.UK",
"APAM_CFD.NL",
"XRX_CFD.US",
"REC_CFD.BE",
"VSVS_CFD.UK",
"MKS_CFD.UK",
"HDD_CFD.DE",
"CMBT_CFD.BE",
"LOTB_CFD.BE",
"III_CFD.UK",
"NXI_CFD.FR",
"WHA_CFD.NL",
"FNTN_CFD.DE",
"ONTEX_CFD.BE",
"UTDI_CFD.DE",
"AAL_CFD.UK",
"SHUR_CFD.BE",
"KGF_CFD.UK",
"SSE_CFD.UK",
"ELI_CFD.BE"
]
}Outputs
{
"actions": {
"buy": [
{
"reason": "Top mean reversion candidate with score 92; +17.8% deviation from MA50 and +24.9% recent move indicates strong reversion potential",
"symbol": "CRST_CFD.UK",
"position_size": 3000
},
{
"reason": "Strong mean reversion candidate with score 87; +10.8% from MA50 and +12.5% from MA200 provides solid reversion setup",
"symbol": "LMP_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Position at cost basis with no deviation; no clear mean reversion signal; maintain current holding",
"symbol": "AUTO_CFD.UK"
},
{
"reason": "Position at cost basis with no deviation; no clear mean reversion signal; maintain current holding",
"symbol": "BYIT_CFD.UK"
},
{
"reason": "Position at cost basis with no deviation; no clear mean reversion signal; maintain current holding",
"symbol": "CBG_CFD.UK"
},
{
"reason": "Position at cost basis with no deviation; no clear mean reversion signal; maintain current holding",
"symbol": "FUTR_CFD.UK"
},
{
"reason": "Position at cost basis with no deviation; no clear mean reversion signal; maintain current holding",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "Position at cost basis with no deviation; no clear mean reversion signal; maintain current holding",
"symbol": "SYNT_CFD.UK"
},
{
"reason": "Position at cost basis with no deviation; no clear mean reversion signal; maintain current holding",
"symbol": "UTG_CFD.UK"
}
],
"sell": [
{
"reason": "Underperforming position with -2.4% unrealized loss; mean reversion potential is limited; better capital reallocation available",
"symbol": "AML_CFD.UK"
},
{
"reason": "Underperforming position with -2.2% unrealized loss; weak mean reversion candidate; freeing capital for stronger opportunities",
"symbol": "PBB_CFD.DE"
}
]
},
"portfolio_rationale": "Executing 2 sells (AML, PBB) to exit losing positions and free capital. Initiating 2 buys (CRST, LMP) as top mean reversion candidates with high scores (92 and 87) showing significant price deviations from moving averages. This rebalancing improves portfolio quality while adhering to max 2 buy/sell limit and fixed €3K position sizing. Remaining 7 positions held as they show no clear mean reversion signals."
}Prompts & responses
#1572 • openrouter • minimax/minimax-m2.1 • 2026-03-23T10:24:57.596649+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": "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": "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": "LMP_CFD.UK", "name": "LONDONMETRIC PROPERTY PLC", "sector": "", "last_price": 214.0, "change_1d_pct": 11.57455683003128, "distance_from_ma200_pct": 12.507879494597773, "distance_from_ma50_pct": 10.77384329331672, "volatility_20d_pct": 54.89150861607771, "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": "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": "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": "PAG_CFD.UK", "name": "PARAGON BANKING GROUP PLC", "sector": "", "last_price": 852.5, "change_1d_pct": -3.399433427762044, "distance_from_ma200_pct": -1.3404962254783492, "distance_from_ma50_pct": 0.699141440891915, "volatility_20d_pct": 71.52779356208148, "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": "BME_CFD.UK", "name": "B&M EUROPEAN VALUE RETAIL SA", "sector": "", "last_price": 175.0, "change_1d_pct": -2.7237354085603127, "distance_from_ma200_pct": -19.458633148571437, "distance_from_ma50_pct": 0.9348295527952688, "volatility_20d_pct": 108.97608622337773, "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": "ANTO_CFD.UK", "name": "ANTOFAGASTA PLC", "sector": "", "last_price": 3259.0, "change_1d_pct": -9.321090706733449, "distance_from_ma200_pct": 18.26423019611667, "distance_from_ma50_pct": -12.880389774045042, "volatility_20d_pct": 131.0149196933384, "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.6, "change_1d_pct": -24.09927942353883, "distance_from_ma200_pct": -11.798015594910993, "distance_from_ma50_pct": -17.03351041019402, "volatility_20d_pct": 148.96998448946707, "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": "SYNT_CFD.UK", "name": "SYNTHOMER PLC", "sector": "", "last_price": 29.05, "change_1d_pct": 54.850746268656714, "distance_from_ma200_pct": -60.840559744095415, "distance_from_ma50_pct": -40.45886640240379, "volatility_20d_pct": 547.5939414040645, "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": "ABDN_CFD.UK", "name": "Aberdeen Group Plc", "sector": "", "last_price": 215.2, "change_1d_pct": -0.6463527239150557, "distance_from_ma200_pct": 13.219747060140353, "distance_from_ma50_pct": 3.663782514155023, "volatility_20d_pct": 74.75396598460024, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "OCDO_CFD.UK", "name": "OCADO GROUP PLC", "sector": "", "last_price": 217.0, "change_1d_pct": -21.148255813953487, "distance_from_ma200_pct": -15.81606625159202, "distance_from_ma50_pct": -5.48311196636071, "volatility_20d_pct": 241.3119670937803, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "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": "JMAT_CFD.UK", "name": "JOHNSON MATTHEY PLC", "sector": "", "last_price": 1921.0, "change_1d_pct": -15.523306948109061, "distance_from_ma200_pct": 2.5989307920274207, "distance_from_ma50_pct": -10.67077367201248, "volatility_20d_pct": 123.66479524785584, "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.655603593859716, "distance_from_ma50_pct": 2.743599661176499, "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": "FUR_CFD.NL", "name": "Fugro", "sector": "", "last_price": 9.99, "change_1d_pct": -3.4782608695652084, "distance_from_ma200_pct": -13.243670652478812, "distance_from_ma50_pct": -6.214443163511685, "volatility_20d_pct": 88.00731385157378, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "DCC_CFD.UK", "name": "DCC PLC", "sector": "", "last_price": 4738.0, "change_1d_pct": 4.131868131868122, "distance_from_ma200_pct": -1.2358165497191043, "distance_from_ma50_pct": -1.6950365081147445, "volatility_20d_pct": 101.79870451788292, "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": "ALTA_CFD.FR", "name": "Altarea", "sector": "", "last_price": 112.4, "change_1d_pct": -4.58404074702885, "distance_from_ma200_pct": 4.9505471901171605, "distance_from_ma50_pct": -4.548290921863085, "volatility_20d_pct": 75.0741387586217, "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": "BPOST_CFD.BE", "name": "Bpost", "sector": "", "last_price": 1.792, "change_1d_pct": -2.0765027322404372, "distance_from_ma200_pct": -15.503185133841635, "distance_from_ma50_pct": -14.773808164973556, "volatility_20d_pct": 88.14495265266997, "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": "COV_CFD.FR", "name": "Covivio SA", "sector": "", "last_price": 54.021, "change_1d_pct": -3.705882352941181, "distance_from_ma200_pct": -2.6605065109671977, "distance_from_ma50_pct": -3.181821603352475, "volatility_20d_pct": 55.880099277383636, "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": "LIO_CFD.UK", "name": "LIONTRUST ASSET MANAGEMENT", "sector": "", "last_price": 270.0, "change_1d_pct": 7.784431137724557, "distance_from_ma200_pct": -17.148878096081223, "distance_from_ma50_pct": 4.440258238208905, "volatility_20d_pct": 138.52252179896075, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "OPTU_CFD.US", "name": "Optimum Communications Inc.", "sector": "", "last_price": 1.3, "change_1d_pct": -9.090909090909083, "distance_from_ma200_pct": -36.95288440553844, "distance_from_ma50_pct": -18.709354677338663, "volatility_20d_pct": 127.6568567850477, "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": "ADM_CFD.UK", "name": "ADMIRAL GROUP PLC", "sector": "", "last_price": 3260.0, "change_1d_pct": 13.906359189378058, "distance_from_ma200_pct": 0.982877810981142, "distance_from_ma50_pct": 10.999045203918524, "volatility_20d_pct": 81.6824895770128, "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": 2544.0, "change_1d_pct": 1.4333845019038671, "distance_from_ma200_pct": 14.948150770494873, "distance_from_ma50_pct": 4.167383226889343, "volatility_20d_pct": 72.718462979927, "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": "APAM_CFD.NL", "name": "Aperam SA", "sector": "", "last_price": 33.22, "change_1d_pct": -5.839002267573701, "distance_from_ma200_pct": 11.220385940096001, "distance_from_ma50_pct": -10.738612455644725, "volatility_20d_pct": 98.79392095847959, "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": "XRX_CFD.US", "name": "Xerox Corp", "sector": "", "last_price": 1.41, "change_1d_pct": -7.843137254901967, "distance_from_ma200_pct": -58.53185106758426, "distance_from_ma50_pct": -30.2739590544951, "volatility_20d_pct": 131.04334057422258, "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": "REC_CFD.BE", "name": "Recticel SA", "sector": "", "last_price": 8.75, "change_1d_pct": -7.407407407407396, "distance_from_ma200_pct": -10.30640868397975, "distance_from_ma50_pct": -14.48397185301017, "volatility_20d_pct": 79.41482349411139, "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": 394.2, "change_1d_pct": -13.817227809357234, "distance_from_ma200_pct": 0.3255617926055221, "distance_from_ma50_pct": -12.75170756107602, "volatility_20d_pct": 119.59992452619474, "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": "MKS_CFD.UK", "name": "MARKS & SPENCER GROUP PLC", "sector": "", "last_price": 360.7, "change_1d_pct": -2.592492573588989, "distance_from_ma200_pct": 0.16685682262786994, "distance_from_ma50_pct": 1.2088381382512114, "volatility_20d_pct": 111.18292243780117, "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": "HDD_CFD.DE", "name": "Heidelberger Druckmaschinen AG", "sector": "", "last_price": 1.4020000000000001, "change_1d_pct": 4.470938897168408, "distance_from_ma200_pct": -23.469318129092297, "distance_from_ma50_pct": -12.59787541768489, "volatility_20d_pct": 90.25830766182494, "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": "CMBT_CFD.BE", "name": "Euronav", "sector": "", "last_price": 10.72, "change_1d_pct": 2.0952380952381056, "distance_from_ma200_pct": 21.039813291571583, "distance_from_ma50_pct": -1.7755534745981572, "volatility_20d_pct": 85.15590360214311, "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": "LOTB_CFD.BE", "name": "Lotus Bakeries NV", "sector": "", "last_price": 9740.0, "change_1d_pct": -4.8828125, "distance_from_ma200_pct": 13.007683836217021, "distance_from_ma50_pct": 0.5497050309365648, "volatility_20d_pct": 59.64920666059652, "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": "III_CFD.UK", "name": "3I GROUP PLC", "sector": "", "last_price": 2740.0, "change_1d_pct": -7.118644067796609, "distance_from_ma200_pct": -26.416581513106042, "distance_from_ma50_pct": -14.205507618143876, "volatility_20d_pct": 114.49622440194238, "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": 7.86, "change_1d_pct": -4.379562043795627, "distance_from_ma200_pct": -16.263877451225838, "distance_from_ma50_pct": -9.42321254891838, "volatility_20d_pct": 91.82911896505973, "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": "WHA_CFD.NL", "name": "Wereldhave", "sector": "", "last_price": 21.2, "change_1d_pct": -1.85185185185186, "distance_from_ma200_pct": 16.723119546497635, "distance_from_ma50_pct": 1.2551821638041583, "volatility_20d_pct": 57.72084549191143, "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": "FNTN_CFD.DE", "name": "FREENET AG", "sector": "", "last_price": 25.52, "change_1d_pct": -6.99708454810496, "distance_from_ma200_pct": -9.672845452256063, "distance_from_ma50_pct": -13.46788308941358, "volatility_20d_pct": 84.65989791678379, "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": "ONTEX_CFD.BE", "name": "Ontex Group NV", "sector": "", "last_price": 4.26, "change_1d_pct": 3.147699757869238, "distance_from_ma200_pct": -27.949260042283296, "distance_from_ma50_pct": -10.489157841654063, "volatility_20d_pct": 74.5493332175651, "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": "UTDI_CFD.DE", "name": "", "sector": "", "last_price": 27.36, "change_1d_pct": 4.427480916030535, "distance_from_ma200_pct": 3.7512366912304973, "distance_from_ma50_pct": -0.043694349984435554, "volatility_20d_pct": 111.32133694601802, "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": "AAL_CFD.UK", "name": "ANGLO AMERICAN PLC", "sector": "", "last_price": 2900.0, "change_1d_pct": -7.4074074074074066, "distance_from_ma200_pct": 4.752248290280758, "distance_from_ma50_pct": -14.758005325567103, "volatility_20d_pct": 97.09288799946901, "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": "SHUR_CFD.BE", "name": "", "sector": "", "last_price": 25.95, "change_1d_pct": -6.486486486486487, "distance_from_ma200_pct": -22.326365753919152, "distance_from_ma50_pct": -14.43251445744279, "volatility_20d_pct": 105.91501537481747, "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": 309.6, "change_1d_pct": -14.143094841930115, "distance_from_ma200_pct": 5.598205649094723, "distance_from_ma50_pct": -4.786156349988369, "volatility_20d_pct": 104.60870893174696, "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": "SSE_CFD.UK", "name": "SSE PLC", "sector": "", "last_price": 2684.0, "change_1d_pct": 0.18663680477790656, "distance_from_ma200_pct": 31.063227728388853, "distance_from_ma50_pct": 6.809869359272902, "volatility_20d_pct": 73.61489335463473, "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": "ELI_CFD.BE", "name": "Elia Group SA/NV", "sector": "", "last_price": 128.5, "change_1d_pct": -5.02586844050259, "distance_from_ma200_pct": 28.10807895405585, "distance_from_ma50_pct": 3.9977377861738495, "volatility_20d_pct": 65.94863383745387, "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": "CRST_CFD.UK",
"selection_reason": "Large positive deviation from MA50 (+17.8%) with high recent move (+24.9%); strong mean reversion candidate",
"mean_reversion_score": 92
},
{
"symbol": "LMP_CFD.UK",
"selection_reason": "Substantial distance from MA50 (+10.8%) and MA200 (+12.5%); solid reversion potential",
"mean_reversion_score": 87
},
{
"symbol": "SPX_CFD.UK",
"selection_reason": "Notable deviation from MA50 (+8.5%) and MA200 (+15.9%); moderate reversion setup",
"mean_reversion_score": 85
},
{
"symbol": "INVP_CFD.UK",
"selection_reason": "Significant distance from MA50 (+9.6%) and MA200 (+17.3%); good reversion candidate",
"mean_reversion_score": 83
},
{
"symbol": "PAG_CFD.UK",
"selection_reason": "Near MA50/MA200 but with negative 1d change (-3.4%); potential bounce candidate",
"mean_reversion_score": 81
}
],
"rejected_common_reasons": [
"SYNT_CFD.UK excluded: extreme volatility (547%) indicates binary/event-driven move not suitable for mean reversion",
"OCDO_CFD.UK excluded: extreme volatility (241%) and large drop (-21.1%) suggests binary event",
"IWG_CFD.UK excluded: large negative move (-24.1%) with high volatility (149%) indicates binary event",
"CBG_CFD.UK excluded: extreme drop (-26.6%) with very high volatility (169%) likely event-driven",
"XRX_CFD.US excluded: extreme deviation from MA200 (-58.5%) with binary characteristics"
]
}#1573 • openrouter • minimax/minimax-m2.1 • 2026-03-23T10:25:37.723273+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": "ABF_CFD.UK", "qty": 0.0, "avg_price": 1868.5, "last_price": 1849.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T18:02:13.212382+00:00"}, {"symbol": "AEO_CFD.US", "qty": 0.0, "avg_price": 22.265, "last_price": 18.64, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T21:11:27.888829+00:00"}, {"symbol": "AGFB_CFD.BE", "qty": 0.0, "avg_price": 0.465, "last_price": 0.452, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T21:11:27.888829+00:00"}, {"symbol": "AML_CFD.UK", "qty": 81.25677139761646, "avg_price": 36.92, "last_price": 36.04, "unrealized_pnl": -71.5059588299027, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "ATG_CFD.UK", "qty": 0.0, "avg_price": 296.0, "last_price": 326.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T18:49:26.891792+00:00"}, {"symbol": "ATO_CFD.FR", "qty": 0.0, "avg_price": 40.34, "last_price": 39.505, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "AUTO_CFD.UK", "qty": 6.2137531068765535, "avg_price": 482.8, "last_price": 482.8, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T18:04:14.272849+00:00"}, {"symbol": "BIG_CFD.FR", "qty": 0.0, "avg_price": 0.453, "last_price": 0.296, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T09:32:59.506254+00:00"}, {"symbol": "BYIT_CFD.UK", "qty": 20.505809979494188, "avg_price": 292.6, "last_price": 292.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "CBG_CFD.UK", "qty": 17.496792254753295, "avg_price": 342.92, "last_price": 342.92, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T18:17:31.188931+00:00"}, {"symbol": "CCL_CFD.UK", "qty": 0.0, "avg_price": 1945.9999999999998, "last_price": 1989.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T18:02:13.212382+00:00"}, {"symbol": "CRWD_CFD.US", "qty": 0.0, "avg_price": 349.265, "last_price": 365.38, "unrealized_pnl": 0.0, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "DKNG_CFD.US", "qty": 0.0, "avg_price": 25.28, "last_price": 24.91, "unrealized_pnl": 0.0, "opened_at": "2026-03-05T18:20:59.102726+00:00"}, {"symbol": "DSY_CFD.FR", "qty": 0.0, "avg_price": 17.881, "last_price": 17.133, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "DT_CFD.US", "qty": 0.0, "avg_price": 34.105000000000004, "last_price": 35.864999999999995, "unrealized_pnl": 0.0, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "ERA_CFD.FR", "qty": 0.0, "avg_price": 47.4, "last_price": 48.88, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "FUTR_CFD.UK", "qty": 7.24287783679382, "avg_price": 414.2, "last_price": 414.2, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "GO_CFD.US", "qty": 0.0, "avg_price": 6.53, "last_price": 6.34, "unrealized_pnl": -87.28943338437996, "opened_at": "2026-03-05T18:20:59.102726+00:00"}, {"symbol": "HAIN_CFD.US", "qty": 0.0, "avg_price": 0.63, "last_price": 0.6, "unrealized_pnl": 0.0, "opened_at": "2026-03-20T18:25:08.105367+00:00"}, {"symbol": "HIK_CFD.UK", "qty": 0.0, "avg_price": 1409.0, "last_price": 1244.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "HYQ_CFD.DE", "qty": 0.0, "avg_price": 82.3, "last_price": 77.3, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T10:09:24.325041+00:00"}, {"symbol": "INF_CFD.UK", "qty": 0.0, "avg_price": 795.2, "last_price": 785.85, "unrealized_pnl": 0.0, "opened_at": "2026-03-02T18:21:09.503139+00:00"}, {"symbol": "LIO_CFD.UK", "qty": 0.0, "avg_price": 250.0, "last_price": 250.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "LMND_CFD.US", "qty": 0.0, "avg_price": 48.96, "last_price": 52.07, "unrealized_pnl": 0.0, "opened_at": "2026-02-24T11:23:36.694156+00:00"}, {"symbol": "LPE_CFD.FR", "qty": 0.0, "avg_price": 88.414, "last_price": 86.679, "unrealized_pnl": 0.0, "opened_at": "2026-03-02T18:21:09.503139+00:00"}, {"symbol": "LXS_CFD.DE", "qty": 0.0, "avg_price": 13.14, "last_price": 13.24, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T10:33:43.857578+00:00"}, {"symbol": "MAN_CFD.US", "qty": 0.0, "avg_price": 25.68, "last_price": 27.94, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "MDB_CFD.US", "qty": 0.0, "avg_price": 252.01, "last_price": 263.69, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "OCDO_CFD.UK", "qty": 14.684287812041115, "avg_price": 204.3, "last_price": 204.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T09:32:59.506254+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-06T10:33:43.857578+00:00"}, {"symbol": "PBB_CFD.DE", "qty": 1061.5711252653928, "avg_price": 2.826, "last_price": 2.7640000000000002, "unrealized_pnl": -65.81740976645418, "opened_at": "2026-03-19T10:09:24.325041+00:00"}, {"symbol": "PROX_CFD.BE", "qty": 0.0, "avg_price": 6.98, "last_price": 7.3, "unrealized_pnl": 0.0, "opened_at": "2026-03-01T10:30:13.622938+00:00"}, {"symbol": "RCO_CFD.FR", "qty": 0.0, "avg_price": 44.34, "last_price": 43.58, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T10:32:09.961595+00:00"}, {"symbol": "RIVN_CFD.US", "qty": 0.0, "avg_price": 15.62, "last_price": 15.1, "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": 417.16, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "RSW_CFD.UK", "qty": 0.0, "avg_price": 3790.0000000000005, "last_price": 3790.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-12T18:01:52.554929+00:00"}, {"symbol": "SGRO_CFD.UK", "qty": 0.0, "avg_price": 789.8, "last_price": 735.4, "unrealized_pnl": 0.0, "opened_at": "2026-03-08T18:08:31.007911+00:00"}, {"symbol": "SYNT_CFD.UK", "qty": 110.29411764705883, "avg_price": 27.2, "last_price": 27.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-21T10:00:02.317290+00:00"}, {"symbol": "TCAP_CFD.UK", "qty": 0.0, "avg_price": 247.99999999999997, "last_price": 255.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T18:49:26.891792+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-08T18:08:31.007911+00:00"}, {"symbol": "TRST_CFD.UK", "qty": 0.0, "avg_price": 151.8, "last_price": 224.82, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 0.0, "avg_price": 92.35, "last_price": 94.79, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T17:57:28.313088+00:00"}, {"symbol": "UTG_CFD.UK", "qty": 5.9405940594059405, "avg_price": 505.0, "last_price": 505.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-10T18:24:41.570614+00:00"}, {"symbol": "VTY_CFD.UK", "qty": 0.0, "avg_price": 385.0, "last_price": 354.1, "unrealized_pnl": 0.0, "opened_at": "2026-03-10T18:24:41.570614+00:00"}, {"symbol": "WIZZ_CFD.UK", "qty": 0.0, "avg_price": 908.5, "last_price": 878.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T10:20:03.276878+00:00"}, {"symbol": "WPP_CFD.UK", "qty": 0.0, "avg_price": 263.4, "last_price": 257.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-27T18:23:55.960577+00:00"}, {"symbol": "WTB_CFD.UK", "qty": 0.0, "avg_price": 2345.0, "last_price": 2308.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T18:17:31.188931+00:00"}], "candidates": [{"symbol": "CRST_CFD.UK", "mean_reversion_score": 92, "selection_reason": "Large positive deviation from MA50 (+17.8%) with high recent move (+24.9%); strong mean reversion candidate"}, {"symbol": "LMP_CFD.UK", "mean_reversion_score": 87, "selection_reason": "Substantial distance from MA50 (+10.8%) and MA200 (+12.5%); solid reversion potential"}, {"symbol": "SPX_CFD.UK", "mean_reversion_score": 85, "selection_reason": "Notable deviation from MA50 (+8.5%) and MA200 (+15.9%); moderate reversion setup"}, {"symbol": "INVP_CFD.UK", "mean_reversion_score": 83, "selection_reason": "Significant distance from MA50 (+9.6%) and MA200 (+17.3%); good reversion candidate"}, {"symbol": "PAG_CFD.UK", "mean_reversion_score": 81, "selection_reason": "Near MA50/MA200 but with negative 1d change (-3.4%); potential bounce candidate"}], "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 candidate with score 92; +17.8% deviation from MA50 and +24.9% recent move indicates strong reversion potential",
"symbol": "CRST_CFD.UK",
"position_size": 3000
},
{
"reason": "Strong mean reversion candidate with score 87; +10.8% from MA50 and +12.5% from MA200 provides solid reversion setup",
"symbol": "LMP_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Position at cost basis with no deviation; no clear mean reversion signal; maintain current holding",
"symbol": "AUTO_CFD.UK"
},
{
"reason": "Position at cost basis with no deviation; no clear mean reversion signal; maintain current holding",
"symbol": "BYIT_CFD.UK"
},
{
"reason": "Position at cost basis with no deviation; no clear mean reversion signal; maintain current holding",
"symbol": "CBG_CFD.UK"
},
{
"reason": "Position at cost basis with no deviation; no clear mean reversion signal; maintain current holding",
"symbol": "FUTR_CFD.UK"
},
{
"reason": "Position at cost basis with no deviation; no clear mean reversion signal; maintain current holding",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "Position at cost basis with no deviation; no clear mean reversion signal; maintain current holding",
"symbol": "SYNT_CFD.UK"
},
{
"reason": "Position at cost basis with no deviation; no clear mean reversion signal; maintain current holding",
"symbol": "UTG_CFD.UK"
}
],
"sell": [
{
"reason": "Underperforming position with -2.4% unrealized loss; mean reversion potential is limited; better capital reallocation available",
"symbol": "AML_CFD.UK"
},
{
"reason": "Underperforming position with -2.2% unrealized loss; weak mean reversion candidate; freeing capital for stronger opportunities",
"symbol": "PBB_CFD.DE"
}
]
},
"portfolio_rationale": "Executing 2 sells (AML, PBB) to exit losing positions and free capital. Initiating 2 buys (CRST, LMP) as top mean reversion candidates with high scores (92 and 87) showing significant price deviations from moving averages. This rebalancing improves portfolio quality while adhering to max 2 buy/sell limit and fixed €3K position sizing. Remaining 7 positions held as they show no clear mean reversion signals."
}Selection logs
#778 • stage1 • 2026-03-23T10:25:37.720422+00:00
{
"selected_stocks": [
{
"symbol": "CRST_CFD.UK",
"selection_reason": "Large positive deviation from MA50 (+17.8%) with high recent move (+24.9%); strong mean reversion candidate",
"mean_reversion_score": 92
},
{
"symbol": "LMP_CFD.UK",
"selection_reason": "Substantial distance from MA50 (+10.8%) and MA200 (+12.5%); solid reversion potential",
"mean_reversion_score": 87
},
{
"symbol": "SPX_CFD.UK",
"selection_reason": "Notable deviation from MA50 (+8.5%) and MA200 (+15.9%); moderate reversion setup",
"mean_reversion_score": 85
},
{
"symbol": "INVP_CFD.UK",
"selection_reason": "Significant distance from MA50 (+9.6%) and MA200 (+17.3%); good reversion candidate",
"mean_reversion_score": 83
},
{
"symbol": "PAG_CFD.UK",
"selection_reason": "Near MA50/MA200 but with negative 1d change (-3.4%); potential bounce candidate",
"mean_reversion_score": 81
}
],
"rejected_common_reasons": [
"SYNT_CFD.UK excluded: extreme volatility (547%) indicates binary/event-driven move not suitable for mean reversion",
"OCDO_CFD.UK excluded: extreme volatility (241%) and large drop (-21.1%) suggests binary event",
"IWG_CFD.UK excluded: large negative move (-24.1%) with high volatility (149%) indicates binary event",
"CBG_CFD.UK excluded: extreme drop (-26.6%) with very high volatility (169%) likely event-driven",
"XRX_CFD.US excluded: extreme deviation from MA200 (-58.5%) with binary characteristics"
]
}