Arena run #787
meanrev-v1 • mistralai • mistralai/mistral-large-2512 • US • success
Run status
as_of: 2026-03-22T18:18:31.438015+00:00
started_at: 2026-03-22T19:21:10.897059+00:00
finished_at: 2026-03-22T19:21:31.450678+00:00
duration_ms: 20550
Inputs
{
"as_of": "2026-03-22T18:18:31.438015+00:00",
"dry_run": false,
"selected": [
{
"symbol": "PAG_CFD.UK",
"selection_reason": "Oversold relative to MA50 (0.7% above) and MA200 (-1.3% below), negative 1-day return (-3.4%), moderate volatility (71.5%).",
"mean_reversion_score": 85
},
{
"symbol": "TPK_CFD.UK",
"selection_reason": "Slightly oversold relative to MA50 (-4.98%), near MA200 (0.53% above), negative 1-day return (-1.21%), moderate volatility (108.2%).",
"mean_reversion_score": 80
},
{
"symbol": "HWDN_CFD.UK",
"selection_reason": "Near MA50 (0.68% above) and MA200 (2.91% above), negative 1-day return (-2.69%), low volatility (44.2%).",
"mean_reversion_score": 75
},
{
"symbol": "LRE_CFD.UK",
"selection_reason": "Oversold relative to MA50 (-6.4%), near MA200 (0.41% above), negative 1-day return (-7.42%), moderate volatility (86.3%).",
"mean_reversion_score": 70
},
{
"symbol": "MKS_CFD.UK",
"selection_reason": "Near MA200 (0.17% above) and MA50 (1.21% above), negative 1-day return (-2.59%), moderate volatility (111.2%).",
"mean_reversion_score": 70
}
],
"simulate_only": false,
"strict_replay": false,
"universe_symbols": [
"SPX_CFD.UK",
"ESNT_CFD.UK",
"JDW_CFD.UK",
"PAG_CFD.UK",
"INVP_CFD.UK",
"CBG_CFD.UK",
"SVT_CFD.UK",
"MCG_CFD.UK",
"IWG_CFD.UK",
"TPK_CFD.UK",
"SYNT_CFD.UK",
"EMG_CFD.UK",
"ABDN_CFD.UK",
"OCDO_CFD.UK",
"HWDN_CFD.UK",
"LRE_CFD.UK",
"IMI_CFD.UK",
"STJ_CFD.UK",
"LIO_CFD.UK",
"OPTU_CFD.US",
"SMIN_CFD.UK",
"BBY_CFD.UK",
"MKS_CFD.UK",
"KGF_CFD.UK",
"SSE_CFD.UK",
"HAIN_CFD.US",
"DOM_CFD.UK",
"IPR_CFD.PT",
"TTK_CFD.DE",
"IPO_CFD.UK",
"CO_CFD.FR",
"BME_CFD.UK",
"HPP_CFD.US",
"GROW_CFD.UK",
"BTRW_CFD.UK",
"BYIT_CFD.UK",
"OSB_CFD.UK",
"EXM_CFD.BE",
"AAF_CFD.UK",
"NXST_CFD.US",
"AAL_CFD.UK",
"FUTR_CFD.UK",
"CMBT_CFD.BE",
"III_CFD.UK",
"NRG_CFD.US",
"INF_CFD.UK",
"SOI_CFD.FR",
"EXPN_CFD.UK"
]
}Outputs
{
"actions": {
"buy": [
{
"reason": "High mean reversion score (85), oversold relative to MA50 and MA200, negative 1-day return (-3.4%), moderate volatility.",
"symbol": "PAG_CFD.UK",
"position_size": 3000
},
{
"reason": "High mean reversion score (80), slightly oversold relative to MA50, near MA200, negative 1-day return (-1.21%), moderate volatility.",
"symbol": "TPK_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "No significant deviation from mean reversion targets; marginal changes do not justify a sell.",
"symbol": "BYIT_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "CBG_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "CRST_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "ESNT_CFD.UK"
},
{
"reason": "Positive unrealized PnL; no clear overbought signal to justify selling.",
"symbol": "EXPD_CFD.US"
},
{
"reason": "Positive unrealized PnL; no clear overbought signal to justify selling.",
"symbol": "FUTR_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "ICG_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "INF_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "IWG_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "JDW_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "MSLH_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "PSN_CFD.UK"
},
{
"reason": "Positive unrealized PnL; no clear overbought signal to justify selling.",
"symbol": "UKW_CFD.UK"
}
],
"sell": []
},
"portfolio_rationale": "Portfolio adjustments are minimal to avoid overtrading. Two new positions (PAG_CFD.UK and TPK_CFD.UK) are added due to strong mean reversion signals and oversold conditions. Existing positions are held as they show no significant deviation from mean reversion targets or clear overbought signals. The strategy adheres to the max_buys_per_run limit of 2 and avoids unnecessary churn."
}Prompts & responses
#1548 • openrouter • mistralai/mistral-large-2512 • 2026-03-22T19:21:10.941467+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": "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": "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": "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": "SVT_CFD.UK", "name": "SEVERN TRENT PLC", "sector": "", "last_price": 3199.0, "change_1d_pct": 11.65794066317627, "distance_from_ma200_pct": 18.3531603549544, "distance_from_ma50_pct": 10.61991274616647, "volatility_20d_pct": 78.40757769219009, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MCG_CFD.UK", "name": "MOBICO GROUP PLC", "sector": "", "last_price": 25.72, "change_1d_pct": 2.9623698959167166, "distance_from_ma200_pct": -7.132760074308242, "distance_from_ma50_pct": 8.327577202351844, "volatility_20d_pct": 232.19808875565576, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "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": "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": "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": "LRE_CFD.UK", "name": "LANCASHIRE HOLDINGS LTD", "sector": "", "last_price": 611.0, "change_1d_pct": -7.424242424242422, "distance_from_ma200_pct": 0.4068944205071867, "distance_from_ma50_pct": -6.396619125545266, "volatility_20d_pct": 86.32350801127552, "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": "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": "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": "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": "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": "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": "HAIN_CFD.US", "name": "The Hain Celestial Group Inc", "sector": "", "last_price": 0.62, "change_1d_pct": -8.823529411764708, "distance_from_ma200_pct": -54.170824555567876, "distance_from_ma50_pct": -35.06493506493508, "volatility_20d_pct": 139.0890190428703, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "DOM_CFD.UK", "name": "DOMINO'S PIZZA GROUP PLC", "sector": "", "last_price": 189.21, "change_1d_pct": 4.190528634361246, "distance_from_ma200_pct": -12.46581454882838, "distance_from_ma50_pct": 4.428944053991102, "volatility_20d_pct": 85.812071272284, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IPR_CFD.PT", "name": "Impresa SGPS SA", "sector": "", "last_price": 0.191, "change_1d_pct": -0.520833333333337, "distance_from_ma200_pct": 22.353544088914525, "distance_from_ma50_pct": -0.27151211361738925, "volatility_20d_pct": 210.8594986289793, "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": "TTK_CFD.DE", "name": "TAKKT AG", "sector": "", "last_price": 2.356, "change_1d_pct": -4.61538461538461, "distance_from_ma200_pct": -48.557267159404795, "distance_from_ma50_pct": -30.072420752700946, "volatility_20d_pct": 94.03255073698537, "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": "CO_CFD.FR", "name": "Casino Guichard Perrachon", "sector": "", "last_price": 0.173, "change_1d_pct": 0.0, "distance_from_ma200_pct": -52.95589275031273, "distance_from_ma50_pct": -21.691109904037653, "volatility_20d_pct": 159.59390138580153, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BME_CFD.UK", "name": "B&M EUROPEAN VALUE RETAIL SA", "sector": "", "last_price": 180.0, "change_1d_pct": -0.5799502899751507, "distance_from_ma200_pct": -17.510144533683704, "distance_from_ma50_pct": 3.6906975618860693, "volatility_20d_pct": 107.67302074828436, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "HPP_CFD.US", "name": "HUDSON PACIFIC PROPERTIES IN", "sector": "", "last_price": 5.8100000000000005, "change_1d_pct": -6.441223832528175, "distance_from_ma200_pct": -60.13899894687372, "distance_from_ma50_pct": -24.445369190356047, "volatility_20d_pct": 186.94316081293476, "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": "BTRW_CFD.UK", "name": "Barratt Redrow Plc", "sector": "", "last_price": 265.2, "change_1d_pct": -31.098986749805146, "distance_from_ma200_pct": -32.44281138781876, "distance_from_ma50_pct": -28.408415412599155, "volatility_20d_pct": 129.1852363778451, "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": 316.4, "change_1d_pct": 1.9329896907216426, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -3.036395062333752, "volatility_20d_pct": 3610.9502328075146, "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": "OSB_CFD.UK", "name": "OSB GROUP PLC", "sector": "", "last_price": 558.5, "change_1d_pct": -10.568454763811053, "distance_from_ma200_pct": 3.9920567571329224, "distance_from_ma50_pct": -6.032210509384505, "volatility_20d_pct": 85.69536040288594, "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": "EXM_CFD.BE", "name": "EXMAR NV", "sector": "", "last_price": 10.16, "change_1d_pct": 1.8036072144288484, "distance_from_ma200_pct": -7.441865337935116, "distance_from_ma50_pct": 0.5021148968666234, "volatility_20d_pct": 117.76491535356226, "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": "AAF_CFD.UK", "name": "AIRTEL AFRICA PLC", "sector": "", "last_price": 358.8, "change_1d_pct": 8.137432188065109, "distance_from_ma200_pct": 32.952065740868704, "distance_from_ma50_pct": 2.969883318017952, "volatility_20d_pct": 110.00587025546741, "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": "NXST_CFD.US", "name": "", "sector": "", "last_price": 231.93, "change_1d_pct": -3.281901584653879, "distance_from_ma200_pct": 15.160688958144085, "distance_from_ma50_pct": 1.9676014466183611, "volatility_20d_pct": 70.08244923574242, "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": 2968.0, "change_1d_pct": -4.504504504504503, "distance_from_ma200_pct": 7.322966373523343, "distance_from_ma50_pct": -12.998590917205332, "volatility_20d_pct": 96.77410523457415, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "FUTR_CFD.UK", "name": "FUTURE PLC", "sector": "", "last_price": 414.2, "change_1d_pct": 3.3949076385421773, "distance_from_ma200_pct": -39.06661738447647, "distance_from_ma50_pct": -25.9812840942679, "volatility_20d_pct": 5563.010447162194, "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": 12.04, "change_1d_pct": -3.2154340836012874, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 17.20286979598327, "volatility_20d_pct": 3662.2062333013014, "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": 2800.0, "change_1d_pct": -6.35451505016722, "distance_from_ma200_pct": -24.977669469349117, "distance_from_ma50_pct": -12.581042836974943, "volatility_20d_pct": 114.0404105556969, "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": "NRG_CFD.US", "name": "NRG ENERGY INC", "sector": "", "last_price": 148.86, "change_1d_pct": -3.092246598528736, "distance_from_ma200_pct": -6.679359343708757, "distance_from_ma50_pct": -6.135672606068699, "volatility_20d_pct": 101.60750795729197, "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": "INF_CFD.UK", "name": "INFORMA PLC", "sector": "", "last_price": 756.4, "change_1d_pct": -14.492425955234012, "distance_from_ma200_pct": -10.927806304012677, "distance_from_ma50_pct": -13.84600805409979, "volatility_20d_pct": 89.53684626030801, "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": "SOI_CFD.FR", "name": "SOITEC", "sector": "", "last_price": 52.48, "change_1d_pct": -17.09320695102686, "distance_from_ma200_pct": 41.49545707373483, "distance_from_ma50_pct": 39.11265845668712, "volatility_20d_pct": 158.6247083028803, "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": "EXPN_CFD.UK", "name": "EXPERIAN PLC", "sector": "", "last_price": 2754.0, "change_1d_pct": 9.199048374306095, "distance_from_ma200_pct": -21.2028857311516, "distance_from_ma50_pct": -3.3650303519421776, "volatility_20d_pct": 112.0169297118067, "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": "PAG_CFD.UK",
"selection_reason": "Oversold relative to MA50 (0.7% above) and MA200 (-1.3% below), negative 1-day return (-3.4%), moderate volatility (71.5%).",
"mean_reversion_score": 85
},
{
"symbol": "TPK_CFD.UK",
"selection_reason": "Slightly oversold relative to MA50 (-4.98%), near MA200 (0.53% above), negative 1-day return (-1.21%), moderate volatility (108.2%).",
"mean_reversion_score": 80
},
{
"symbol": "HWDN_CFD.UK",
"selection_reason": "Near MA50 (0.68% above) and MA200 (2.91% above), negative 1-day return (-2.69%), low volatility (44.2%).",
"mean_reversion_score": 75
},
{
"symbol": "LRE_CFD.UK",
"selection_reason": "Oversold relative to MA50 (-6.4%), near MA200 (0.41% above), negative 1-day return (-7.42%), moderate volatility (86.3%).",
"mean_reversion_score": 70
},
{
"symbol": "MKS_CFD.UK",
"selection_reason": "Near MA200 (0.17% above) and MA50 (1.21% above), negative 1-day return (-2.59%), moderate volatility (111.2%).",
"mean_reversion_score": 70
}
],
"rejected_common_reasons": [
"Extreme volatility (e.g., SYNT_CFD.UK, FUTR_CFD.UK, BYIT_CFD.UK)",
"Extreme distance from MA200/MA50 (e.g., SYNT_CFD.UK, HAIN_CFD.US, HPP_CFD.US)",
"No confirmed earnings data (all candidates)",
"Sector concentration (unknown, treated as single sector)"
]
}#1549 • openrouter • mistralai/mistral-large-2512 • 2026-03-22T19:21:20.846493+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": "AAL_CFD.UK", "qty": 0.0, "avg_price": 2913.0, "last_price": 2900.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T10:09:24.325041+00:00"}, {"symbol": "ACM_CFD.US", "qty": 0.0, "avg_price": 88.42, "last_price": 97.88, "unrealized_pnl": 0.0, "opened_at": "2026-02-15T10:57:15.913854+00:00"}, {"symbol": "ADS_CFD.DE", "qty": 0.0, "avg_price": 137.15, "last_price": 138.55, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "AIR_CFD.DE", "qty": 0.0, "avg_price": 200.984, "last_price": 187.12, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "AMCX_CFD.US", "qty": 0.0, "avg_price": 7.5, "last_price": 7.365, "unrealized_pnl": -53.999999999999915, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "AMH_CFD.US", "qty": 0.0, "avg_price": 29.595, "last_price": 29.485, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "ATG_CFD.UK", "qty": 0.0, "avg_price": 296.0, "last_price": 296.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T18:49:26.891792+00:00"}, {"symbol": "ATO_CFD.FR", "qty": 0.0, "avg_price": 35.106, "last_price": 38.024, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "AUTO_CFD.UK", "qty": 0.0, "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.453, "unrealized_pnl": 0.0, "opened_at": "2026-02-28T10:51:05.818250+00:00"}, {"symbol": "BLND_CFD.UK", "qty": 0.0, "avg_price": 364.2, "last_price": 364.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T18:18:45.954380+00:00"}, {"symbol": "BRBY_CFD.UK", "qty": 0.0, "avg_price": 1070.84, "last_price": 1070.84, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T10:19:46.508085+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-15T10:57:15.913854+00:00"}, {"symbol": "CBG_CFD.UK", "qty": 34.99358450950659, "avg_price": 342.92, "last_price": 342.92, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "CRST_CFD.UK", "qty": 25.246149962130776, "avg_price": 118.83, "last_price": 118.83, "unrealized_pnl": 0.0, "opened_at": "2026-03-18T17:58:33.497657+00:00"}, {"symbol": "CRWD_CFD.US", "qty": 0.0, "avg_price": 350.24, "last_price": 350.055, "unrealized_pnl": -1.5846276838739344, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "DLTR_CFD.US", "qty": 0.0, "avg_price": 112.12, "last_price": 107.655, "unrealized_pnl": 0.0, "opened_at": "2026-03-17T18:12:35.221859+00:00"}, {"symbol": "DOM_CFD.UK", "qty": 0.0, "avg_price": 199.3, "last_price": 189.21, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "DSY_CFD.FR", "qty": 0.0, "avg_price": 17.881, "last_price": 16.752, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "ESNT_CFD.UK", "qty": 31.413612565445025, "avg_price": 95.5, "last_price": 95.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-20T10:26:40.341409+00:00"}, {"symbol": "ESTC_CFD.US", "qty": 0.0, "avg_price": 58.085, "last_price": 54.045, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}, {"symbol": "EVT_CFD.DE", "qty": 0.0, "avg_price": 4.502, "last_price": 4.353, "unrealized_pnl": 0.0, "opened_at": "2026-03-11T10:11:17.665074+00:00"}, {"symbol": "EXM_CFD.BE", "qty": 0.0, "avg_price": 10.0, "last_price": 9.933, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "EXPD_CFD.US", "qty": 22.01269398686576, "avg_price": 136.285, "last_price": 146.315, "unrealized_pnl": 220.7873206882636, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "EZJ_CFD.UK", "qty": 0.0, "avg_price": 405.2, "last_price": 394.1, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "FRVIA_CFD.FR", "qty": 0.0, "avg_price": 12.709, "last_price": 12.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "FUTR_CFD.UK", "qty": 7.488766849725412, "avg_price": 400.6, "last_price": 414.2, "unrealized_pnl": 101.84722915626534, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "GO_CFD.US", "qty": 0.0, "avg_price": 6.53, "last_price": 6.35, "unrealized_pnl": 0.0, "opened_at": "2026-03-05T18:20:59.102726+00:00"}, {"symbol": "GRI_CFD.UK", "qty": 0.0, "avg_price": 189.6, "last_price": 189.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "HIK_CFD.UK", "qty": 0.0, "avg_price": 1409.0, "last_price": 1408.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "ICG_CFD.UK", "qty": 1.772002362669817, "avg_price": 1693.0, "last_price": 1693.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "INF_CFD.UK", "qty": 4.0474905558553695, "avg_price": 741.2, "last_price": 741.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-21T10:00:02.317290+00:00"}, {"symbol": "ITRK_CFD.UK", "qty": 0.0, "avg_price": 3942.0, "last_price": 3760.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T10:07:39.444598+00:00"}, {"symbol": "IWG_CFD.UK", "qty": 16.949152542372882, "avg_price": 177.0, "last_price": 177.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T18:18:58.833148+00:00"}, {"symbol": "JDW_CFD.UK", "qty": 4.514672686230249, "avg_price": 664.5, "last_price": 664.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T10:35:48.762746+00:00"}, {"symbol": "JEF_CFD.US", "qty": 0.0, "avg_price": 47.46, "last_price": 44.27, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T18:07:22.382508+00:00"}, {"symbol": "JMAT_CFD.UK", "qty": 0.0, "avg_price": 1976.9999999999998, "last_price": 1964.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T10:20:03.276878+00:00"}, {"symbol": "LIO_CFD.UK", "qty": 0.0, "avg_price": 250.0, "last_price": 257.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "MSLH_CFD.UK", "qty": 21.30681818181818, "avg_price": 140.8, "last_price": 140.8, "unrealized_pnl": 0.0, "opened_at": "2026-03-21T17:59:11.913241+00:00"}, {"symbol": "NA9_CFD.DE", "qty": 0.0, "avg_price": 48.578, "last_price": 53.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "OCDO_CFD.UK", "qty": 29.36857562408223, "avg_price": 204.3, "last_price": 204.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "OKTA_CFD.US", "qty": 0.0, "avg_price": 70.18, "last_price": 79.26, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "PAGE_CFD.UK", "qty": 0.0, "avg_price": 151.91, "last_price": 151.91, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T10:33:43.857578+00:00"}, {"symbol": "PSN_CFD.UK", "qty": 2.6954177897574123, "avg_price": 1113.0, "last_price": 1113.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-21T10:00:02.317290+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-19T00:47:27.070066+00:00"}, {"symbol": "SOI_CFD.FR", "qty": 0.0, "avg_price": 57.5, "last_price": 54.96, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T10:09:24.325041+00:00"}, {"symbol": "STJ_CFD.UK", "qty": 0.0, "avg_price": 1300.0, "last_price": 1280.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T10:35:48.762746+00:00"}, {"symbol": "SYNT_CFD.UK", "qty": 0.0, "avg_price": 18.4, "last_price": 18.34, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T18:49:26.891792+00:00"}, {"symbol": "TRN_CFD.UK", "qty": 0.0, "avg_price": 184.50000000000003, "last_price": 211.4, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+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-16T17:30:52.485845+00:00"}, {"symbol": "TUI1_CFD.DE", "qty": 0.0, "avg_price": 7.398000000000001, "last_price": 6.95, "unrealized_pnl": -181.67072181670738, "opened_at": "2026-03-02T10:31:26.559356+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 32.48511099079589, "avg_price": 92.35, "last_price": 101.7, "unrealized_pnl": 303.73578776394186, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "ULTA_CFD.US", "qty": 0.0, "avg_price": 535.2, "last_price": 523.22, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "VSVS_CFD.UK", "qty": 0.0, "avg_price": 425.0, "last_price": 421.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T18:18:58.833148+00:00"}, {"symbol": "VTY_CFD.UK", "qty": 0.0, "avg_price": 385.0, "last_price": 385.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-11T10:11:17.665074+00:00"}, {"symbol": "WEIR_CFD.UK", "qty": 0.0, "avg_price": 2890.0, "last_price": 2842.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-14T10:03:26.036362+00:00"}, {"symbol": "WIX_CFD.UK", "qty": 0.0, "avg_price": 224.5, "last_price": 222.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T10:19:46.508085+00:00"}, {"symbol": "WIZZ_CFD.UK", "qty": 0.0, "avg_price": 1087.0, "last_price": 1064.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T10:20:03.276878+00:00"}, {"symbol": "WKP_CFD.UK", "qty": 0.0, "avg_price": 412.5, "last_price": 412.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T09:32:59.506254+00:00"}, {"symbol": "WPP_CFD.UK", "qty": 0.0, "avg_price": 263.4, "last_price": 257.0, "unrealized_pnl": -72.89293849658289, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "ZS_CFD.US", "qty": 0.0, "avg_price": 159.76, "last_price": 144.45, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}], "candidates": [{"symbol": "PAG_CFD.UK", "mean_reversion_score": 85, "selection_reason": "Oversold relative to MA50 (0.7% above) and MA200 (-1.3% below), negative 1-day return (-3.4%), moderate volatility (71.5%)."}, {"symbol": "TPK_CFD.UK", "mean_reversion_score": 80, "selection_reason": "Slightly oversold relative to MA50 (-4.98%), near MA200 (0.53% above), negative 1-day return (-1.21%), moderate volatility (108.2%)."}, {"symbol": "HWDN_CFD.UK", "mean_reversion_score": 75, "selection_reason": "Near MA50 (0.68% above) and MA200 (2.91% above), negative 1-day return (-2.69%), low volatility (44.2%)."}, {"symbol": "LRE_CFD.UK", "mean_reversion_score": 70, "selection_reason": "Oversold relative to MA50 (-6.4%), near MA200 (0.41% above), negative 1-day return (-7.42%), moderate volatility (86.3%)."}, {"symbol": "MKS_CFD.UK", "mean_reversion_score": 70, "selection_reason": "Near MA200 (0.17% above) and MA50 (1.21% above), negative 1-day return (-2.59%), moderate volatility (111.2%)."}], "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": "High mean reversion score (85), oversold relative to MA50 and MA200, negative 1-day return (-3.4%), moderate volatility.",
"symbol": "PAG_CFD.UK",
"position_size": 3000
},
{
"reason": "High mean reversion score (80), slightly oversold relative to MA50, near MA200, negative 1-day return (-1.21%), moderate volatility.",
"symbol": "TPK_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "No significant deviation from mean reversion targets; marginal changes do not justify a sell.",
"symbol": "BYIT_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "CBG_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "CRST_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "ESNT_CFD.UK"
},
{
"reason": "Positive unrealized PnL; no clear overbought signal to justify selling.",
"symbol": "EXPD_CFD.US"
},
{
"reason": "Positive unrealized PnL; no clear overbought signal to justify selling.",
"symbol": "FUTR_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "ICG_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "INF_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "IWG_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "JDW_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "MSLH_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "No significant deviation from mean reversion targets; holding for potential reversion.",
"symbol": "PSN_CFD.UK"
},
{
"reason": "Positive unrealized PnL; no clear overbought signal to justify selling.",
"symbol": "UKW_CFD.UK"
}
],
"sell": []
},
"portfolio_rationale": "Portfolio adjustments are minimal to avoid overtrading. Two new positions (PAG_CFD.UK and TPK_CFD.UK) are added due to strong mean reversion signals and oversold conditions. Existing positions are held as they show no significant deviation from mean reversion targets or clear overbought signals. The strategy adheres to the max_buys_per_run limit of 2 and avoids unnecessary churn."
}Selection logs
#766 • stage1 • 2026-03-22T19:21:20.841764+00:00
{
"selected_stocks": [
{
"symbol": "PAG_CFD.UK",
"selection_reason": "Oversold relative to MA50 (0.7% above) and MA200 (-1.3% below), negative 1-day return (-3.4%), moderate volatility (71.5%).",
"mean_reversion_score": 85
},
{
"symbol": "TPK_CFD.UK",
"selection_reason": "Slightly oversold relative to MA50 (-4.98%), near MA200 (0.53% above), negative 1-day return (-1.21%), moderate volatility (108.2%).",
"mean_reversion_score": 80
},
{
"symbol": "HWDN_CFD.UK",
"selection_reason": "Near MA50 (0.68% above) and MA200 (2.91% above), negative 1-day return (-2.69%), low volatility (44.2%).",
"mean_reversion_score": 75
},
{
"symbol": "LRE_CFD.UK",
"selection_reason": "Oversold relative to MA50 (-6.4%), near MA200 (0.41% above), negative 1-day return (-7.42%), moderate volatility (86.3%).",
"mean_reversion_score": 70
},
{
"symbol": "MKS_CFD.UK",
"selection_reason": "Near MA200 (0.17% above) and MA50 (1.21% above), negative 1-day return (-2.59%), moderate volatility (111.2%).",
"mean_reversion_score": 70
}
],
"rejected_common_reasons": [
"Extreme volatility (e.g., SYNT_CFD.UK, FUTR_CFD.UK, BYIT_CFD.UK)",
"Extreme distance from MA200/MA50 (e.g., SYNT_CFD.UK, HAIN_CFD.US, HPP_CFD.US)",
"No confirmed earnings data (all candidates)",
"Sector concentration (unknown, treated as single sector)"
]
}