Arena run #1167
meanrev-v1 • mistralai • mistralai/mistral-large-2512 • US • success
Run status
as_of: 2026-04-10T18:00:56.644490+00:00
started_at: 2026-04-10T18:01:23.923511+00:00
finished_at: 2026-04-10T18:02:06.854090+00:00
duration_ms: 42926
Inputs
{
"as_of": "2026-04-10T18:00:56.644490+00:00",
"dry_run": false,
"selected": [
{
"symbol": "THG_CFD.UK",
"selection_reason": "Large 1-day drop (-21.46%), now 18.65% below 50-day MA, high volatility (150.53%) suggests oversold condition.",
"mean_reversion_score": 85
},
{
"symbol": "CRST_CFD.UK",
"selection_reason": "12.82% 1-day drop, 15.85% below 50-day MA, 28.15% below 200-day MA, high volatility (236.53%).",
"mean_reversion_score": 80
},
{
"symbol": "ICG_CFD.UK",
"selection_reason": "15.19% 1-day drop, 12.26% below 50-day MA, 16.18% below 200-day MA, moderate volatility (73.10%).",
"mean_reversion_score": 75
},
{
"symbol": "IWG_CFD.UK",
"selection_reason": "26.79% 1-day drop, 22.14% below 50-day MA, 17.65% below 200-day MA, high volatility (154.03%).",
"mean_reversion_score": 70
},
{
"symbol": "ITRK_CFD.UK",
"selection_reason": "13.96% 1-day drop, 13.10% below 50-day MA, 17.82% below 200-day MA, high volatility (103.36%).",
"mean_reversion_score": 78
}
],
"simulate_only": false,
"strict_replay": false,
"universe_symbols": [
"GEN_CFD.UK",
"JUP_CFD.UK",
"BOY_CFD.UK",
"THG_CFD.UK",
"CRST_CFD.UK",
"FGP_CFD.UK",
"ICG_CFD.UK",
"SHC_CFD.UK",
"VCT_CFD.UK",
"DLN_CFD.UK",
"TPK_CFD.UK",
"DOM_CFD.UK",
"ITV_CFD.UK",
"SGE_CFD.UK",
"FUTR_CFD.UK",
"IEP_CFD.BE",
"ESNT_CFD.UK",
"IPO_CFD.UK",
"IWG_CFD.UK",
"VIRI_CFD.FR",
"WKP_CFD.UK",
"SMIN_CFD.UK",
"DOCS_CFD.UK",
"CRDA_CFD.UK",
"ATG_CFD.UK",
"SW_CFD.FR",
"AUTO_CFD.UK",
"FIS_CFD.US",
"COIN_CFD.US",
"FUR_CFD.NL",
"DLTR_CFD.US",
"SEM_CFD.PT",
"CO_CFD.FR",
"DGE_CFD.UK",
"GLO_CFD.FR",
"SCHP_CFD.FR",
"HYQ_CFD.DE",
"VIRP_CFD.FR",
"CNA_CFD.UK",
"AKAM_CFD.US",
"TUB_CFD.BE",
"CTT_CFD.PT",
"EXPO_CFD.US",
"ITRK_CFD.UK",
"SAVE_CFD.FR",
"AAD_CFD.DE",
"BPOST_CFD.BE",
"ZAL_CFD.DE",
"BRBY_CFD.UK",
"UN0_CFD.DE"
]
}Outputs
{
"actions": {
"buy": [
{
"reason": "High mean-reversion score (80), significant 1-day drop (-12.82%), 15.85% below 50-day MA, high volatility suggests oversold condition.",
"symbol": "CRST_CFD.UK",
"position_size": 3000
},
{
"reason": "High mean-reversion score (78), 13.96% 1-day drop, 13.10% below 50-day MA, high volatility suggests oversold condition.",
"symbol": "ITRK_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "No strong mean-reversion signal; marginal changes, prefer HOLD.",
"symbol": "BOY_CFD.UK"
},
{
"reason": "Moderate unrealized PnL (+4.33%), no strong mean-reversion signal to exit.",
"symbol": "BTRW_CFD.UK"
},
{
"reason": "Positive unrealized PnL (+6.17%), no strong mean-reversion signal to exit.",
"symbol": "EXPD_CFD.US"
},
{
"reason": "Marginal unrealized PnL (+0.52%), no strong mean-reversion signal to exit.",
"symbol": "FUTR_CFD.UK"
},
{
"reason": "Positive unrealized PnL (+7.14%), no strong mean-reversion signal to exit.",
"symbol": "HIK_CFD.UK"
},
{
"reason": "No strong mean-reversion signal; price unchanged from entry, but candidate for potential BUY if capital available.",
"symbol": "ICG_CFD.UK"
},
{
"reason": "Positive unrealized PnL (+4.29%), no strong mean-reversion signal to exit.",
"symbol": "INF_CFD.UK"
},
{
"reason": "No strong mean-reversion signal; price unchanged from entry, but candidate for potential BUY if capital available.",
"symbol": "IWG_CFD.UK"
},
{
"reason": "Positive unrealized PnL (+10.20%), no strong mean-reversion signal to exit.",
"symbol": "JMAT_CFD.UK"
},
{
"reason": "Positive unrealized PnL (+6.70%), no strong mean-reversion signal to exit.",
"symbol": "KGF_CFD.UK"
},
{
"reason": "No strong mean-reversion signal; price unchanged from entry, prefer HOLD.",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "No strong mean-reversion signal; price unchanged from entry, prefer HOLD.",
"symbol": "PAGE_CFD.UK"
},
{
"reason": "No strong mean-reversion signal; price unchanged from entry, prefer HOLD.",
"symbol": "PAG_CFD.UK"
},
{
"reason": "Strong unrealized PnL (+37.18%), no strong mean-reversion signal to exit.",
"symbol": "SYNT_CFD.UK"
},
{
"reason": "No strong mean-reversion signal; price unchanged from entry, prefer HOLD.",
"symbol": "TPK_CFD.UK"
},
{
"reason": "Positive unrealized PnL (+11.01%), no strong mean-reversion signal to exit.",
"symbol": "UKW_CFD.UK"
}
],
"sell": [
{
"reason": "No significant mean-reversion signal; price unchanged from entry, prefer to free up capital for stronger candidates.",
"symbol": "HAS_CFD.UK"
},
{
"reason": "No clear mean-reversion progress; price unchanged from entry, prefer to reallocate capital to higher-scoring candidates.",
"symbol": "THG_CFD.UK"
}
]
},
"portfolio_rationale": "Portfolio adjustments focused on reallocating capital from positions with no clear mean-reversion progress (HAS_CFD.UK, THG_CFD.UK) to high-scoring mean-reversion candidates (CRST_CFD.UK, ITRK_CFD.UK). Existing positions with positive PnL or marginal changes are held to avoid overtrading. The strategy adheres to max 2 sells/buys per run and maintains gross leverage constraints."
}Prompts & responses
#2254 • openrouter • mistralai/mistral-large-2512 • 2026-04-10T18:01:23.982294+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": "GEN_CFD.UK", "name": "GENUIT GROUP PLC", "sector": "", "last_price": 370.0, "change_1d_pct": 13.671274961597547, "distance_from_ma200_pct": 1.1384913963945476, "distance_from_ma50_pct": 7.521632190000593, "volatility_20d_pct": 112.82453945409682, "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": "JUP_CFD.UK", "name": "JUPITER FUND MANAGEMENT", "sector": "", "last_price": 193.6, "change_1d_pct": 22.06809583858764, "distance_from_ma200_pct": 57.65825374753912, "distance_from_ma50_pct": 19.274691586205538, "volatility_20d_pct": 96.15961444303547, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BOY_CFD.UK", "name": "BODYCOTE PLC", "sector": "", "last_price": 775.4, "change_1d_pct": 24.163330664531625, "distance_from_ma200_pct": 28.652243313347768, "distance_from_ma50_pct": 18.63612217470385, "volatility_20d_pct": 103.46484337510964, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "THG_CFD.UK", "name": "THG PLC", "sector": "", "last_price": 34.98, "change_1d_pct": -21.463852716659193, "distance_from_ma200_pct": 2.6990050116409536, "distance_from_ma50_pct": -18.650784422253118, "volatility_20d_pct": 150.5308117928466, "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": "CRST_CFD.UK", "name": "CREST NICHOLSON HOLDINGS", "sector": "", "last_price": 118.83, "change_1d_pct": -12.817314746881891, "distance_from_ma200_pct": -28.150055914529826, "distance_from_ma50_pct": -15.848139991077058, "volatility_20d_pct": 236.5351415372937, "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": "FGP_CFD.UK", "name": "FIRSTGROUP PLC", "sector": "", "last_price": 193.2, "change_1d_pct": 1.3109596224436304, "distance_from_ma200_pct": -4.044842646206826, "distance_from_ma50_pct": 1.7250076083144883, "volatility_20d_pct": 88.3516119820011, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ICG_CFD.UK", "name": "ICG Plc", "sector": "", "last_price": 1693.0, "change_1d_pct": -15.18545979199647, "distance_from_ma200_pct": -16.18296530905513, "distance_from_ma50_pct": -12.256151916578562, "volatility_20d_pct": 73.10253575454833, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SHC_CFD.UK", "name": "SHAFTESBURY CAPITAL PLC", "sector": "", "last_price": 140.4, "change_1d_pct": -2.9045643153526868, "distance_from_ma200_pct": 0.26963533347688085, "distance_from_ma50_pct": -0.771073778544229, "volatility_20d_pct": 63.75522821252001, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "VCT_CFD.UK", "name": "VICTREX PLC", "sector": "", "last_price": 635.0, "change_1d_pct": -9.285714285714286, "distance_from_ma200_pct": -11.261564295119154, "distance_from_ma50_pct": -2.9181133396627645, "volatility_20d_pct": 130.4010909373053, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "DLN_CFD.UK", "name": "DERWENT LONDON PLC", "sector": "", "last_price": 1953.0, "change_1d_pct": 10.401356698699837, "distance_from_ma200_pct": 5.069478604951705, "distance_from_ma50_pct": 12.150447212111025, "volatility_20d_pct": 115.39088732649292, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "TPK_CFD.UK", "name": "TRAVIS PERKINS PLC", "sector": "", "last_price": 601.57, "change_1d_pct": -1.21029986533977, "distance_from_ma200_pct": 0.5267641208837714, "distance_from_ma50_pct": -4.983077425595306, "volatility_20d_pct": 108.19399806448348, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "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": "ITV_CFD.UK", "name": "ITV PLC", "sector": "", "last_price": 79.85, "change_1d_pct": -2.9179331306990908, "distance_from_ma200_pct": 0.2068138123516139, "distance_from_ma50_pct": -1.5145908877870817, "volatility_20d_pct": 147.26310294999405, "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": "SGE_CFD.UK", "name": "SAGE GROUP PLC/THE", "sector": "", "last_price": 856.8, "change_1d_pct": 3.1046931407942235, "distance_from_ma200_pct": -22.243697671553598, "distance_from_ma50_pct": -3.8484198618999543, "volatility_20d_pct": 113.91757826865711, "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": 297.6, "change_1d_pct": -44.11267605633803, "distance_from_ma200_pct": -55.33773697844032, "distance_from_ma50_pct": -43.86756971474314, "volatility_20d_pct": 219.4328826104575, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IEP_CFD.BE", "name": "IEP Invest NV", "sector": "", "last_price": 5.4, "change_1d_pct": 0.0, "distance_from_ma200_pct": 0.9951765451794659, "distance_from_ma50_pct": 0.5657756042326989, "volatility_20d_pct": 138.39532879660115, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ESNT_CFD.UK", "name": "ESSENTRA PLC", "sector": "", "last_price": 90.1, "change_1d_pct": -10.61507936507937, "distance_from_ma200_pct": -10.657490467074904, "distance_from_ma50_pct": -8.545188421272742, "volatility_20d_pct": 126.22890829663649, "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": "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": "VIRI_CFD.FR", "name": "VIRIDIEN", "sector": "", "last_price": 127.1, "change_1d_pct": 32.258064516129025, "distance_from_ma200_pct": 86.88026988392838, "distance_from_ma50_pct": 29.097132641971314, "volatility_20d_pct": 297.97668648307325, "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": "SMIN_CFD.UK", "name": "SMITHS GROUP PLC", "sector": "", "last_price": 2410.0, "change_1d_pct": -2.900886381950041, "distance_from_ma200_pct": 8.724723729236384, "distance_from_ma50_pct": -1.2150629239554345, "volatility_20d_pct": 88.62035790812207, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "DOCS_CFD.UK", "name": "DR. MARTENS PLC", "sector": "", "last_price": 64.5, "change_1d_pct": -3.5153328347045543, "distance_from_ma200_pct": -14.829841246785492, "distance_from_ma50_pct": -11.320702834987761, "volatility_20d_pct": 128.30568371469687, "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": "CRDA_CFD.UK", "name": "CRODA INTERNATIONAL PLC", "sector": "", "last_price": 3008.31, "change_1d_pct": -6.574223602484475, "distance_from_ma200_pct": 6.3535245799013484, "distance_from_ma50_pct": 6.21677669397771, "volatility_20d_pct": 122.68863352417152, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ATG_CFD.UK", "name": "AUCTION TECHNOLOGY GROUP", "sector": "", "last_price": 326.5, "change_1d_pct": 12.006861063464846, "distance_from_ma200_pct": -24.987260470422935, "distance_from_ma50_pct": 5.84429056770146, "volatility_20d_pct": 172.45012969704524, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SW_CFD.FR", "name": "Sodexo", "sector": "", "last_price": 40.439, "change_1d_pct": -11.614538937337437, "distance_from_ma200_pct": -16.173190802122594, "distance_from_ma50_pct": -9.890537915986663, "volatility_20d_pct": 103.00245662172654, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "AUTO_CFD.UK", "name": "AUTOTRADER GROUP PLC", "sector": "", "last_price": 490.4, "change_1d_pct": -38.63326367424575, "distance_from_ma200_pct": -37.426260695289436, "distance_from_ma50_pct": -31.896720766000808, "volatility_20d_pct": 130.06763966702516, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "FIS_CFD.US", "name": "", "sector": "", "last_price": 44.57, "change_1d_pct": -4.397254397254391, "distance_from_ma200_pct": -30.408632639709698, "distance_from_ma50_pct": -9.524582842759122, "volatility_20d_pct": 69.85761662915363, "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": "COIN_CFD.US", "name": "Coinbase Global Inc", "sector": "", "last_price": 166.58, "change_1d_pct": -4.724319377716768, "distance_from_ma200_pct": -39.89440929244411, "distance_from_ma50_pct": -7.24014656257308, "volatility_20d_pct": 120.38712181382387, "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": 11.17, "change_1d_pct": -0.9751773049645363, "distance_from_ma200_pct": -1.2838403325771242, "distance_from_ma50_pct": 1.0826796593051968, "volatility_20d_pct": 77.54272041051318, "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": "DLTR_CFD.US", "name": "Dollar Tree Inc", "sector": "", "last_price": 100.35, "change_1d_pct": -9.594594594594597, "distance_from_ma200_pct": -9.990797265370643, "distance_from_ma50_pct": -13.838550530019567, "volatility_20d_pct": 83.53069428976167, "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": "SEM_CFD.PT", "name": "Semapa-Sociedade de Investimento e Gestao SGPS SA", "sector": "", "last_price": 23.1, "change_1d_pct": 6.6974595842956175, "distance_from_ma200_pct": 22.528381100395055, "distance_from_ma50_pct": 3.1992666150819415, "volatility_20d_pct": 149.20448245817002, "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.156, "change_1d_pct": -4.294478527607371, "distance_from_ma200_pct": -55.395436610053196, "distance_from_ma50_pct": -22.22554591684116, "volatility_20d_pct": 130.02589335759959, "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": "DGE_CFD.UK", "name": "DIAGEO PLC", "sector": "", "last_price": 1470.8, "change_1d_pct": 5.585068198133514, "distance_from_ma200_pct": -16.282806333750997, "distance_from_ma50_pct": -7.265649363021942, "volatility_20d_pct": 70.49886409233376, "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": "GLO_CFD.FR", "name": "GL Events", "sector": "", "last_price": 32.8, "change_1d_pct": 5.806451612903207, "distance_from_ma200_pct": 8.356463694307914, "distance_from_ma50_pct": 1.5516346717095786, "volatility_20d_pct": 73.02437828063992, "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": "SCHP_CFD.FR", "name": "", "sector": "", "last_price": 87.662, "change_1d_pct": 7.521157856003935, "distance_from_ma200_pct": 10.64451420328365, "distance_from_ma50_pct": 24.79393668482206, "volatility_20d_pct": 65.31259879016224, "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": "HYQ_CFD.DE", "name": "HYPOPORT SE", "sector": "", "last_price": 81.859, "change_1d_pct": 1.6250775915580329, "distance_from_ma200_pct": -37.60724124600456, "distance_from_ma50_pct": -2.2519346854398714, "volatility_20d_pct": 143.89732959618286, "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": "VIRP_CFD.FR", "name": "Virbac SA", "sector": "", "last_price": 364.0, "change_1d_pct": 2.5352112676056304, "distance_from_ma200_pct": 5.566227298965254, "distance_from_ma50_pct": 3.14780462649642, "volatility_20d_pct": 60.92859798666134, "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": "CNA_CFD.UK", "name": "CENTRICA PLC", "sector": "", "last_price": 212.7, "change_1d_pct": -0.2812939521800395, "distance_from_ma200_pct": 22.70122683920599, "distance_from_ma50_pct": 8.704429232752187, "volatility_20d_pct": 108.48603569702911, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "AKAM_CFD.US", "name": "Akamai Technologies Inc", "sector": "", "last_price": 92.94, "change_1d_pct": -17.723087818696882, "distance_from_ma200_pct": 6.770089899864273, "distance_from_ma50_pct": -11.23683929035314, "volatility_20d_pct": 102.214718527314, "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": "TUB_CFD.BE", "name": "Financiere de Tubize", "sector": "", "last_price": 228.4, "change_1d_pct": 5.740740740740735, "distance_from_ma200_pct": 15.852728964544172, "distance_from_ma50_pct": 2.419182341569792, "volatility_20d_pct": 86.69775837960786, "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": "CTT_CFD.PT", "name": "CTT Correios de Portugal SA", "sector": "", "last_price": 6.785, "change_1d_pct": 10.504885993485358, "distance_from_ma200_pct": -5.855091768737919, "distance_from_ma50_pct": 0.09589142140591367, "volatility_20d_pct": 96.2421948917394, "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": "EXPO_CFD.US", "name": "Exponent Inc", "sector": "", "last_price": 65.78, "change_1d_pct": -1.4974543276430108, "distance_from_ma200_pct": -7.1216173094355355, "distance_from_ma50_pct": -5.141782607692491, "volatility_20d_pct": 63.14673123240353, "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": "ITRK_CFD.UK", "name": "INTERTEK GROUP PLC", "sector": "", "last_price": 3841.0, "change_1d_pct": -13.956093189964157, "distance_from_ma200_pct": -17.8152367127661, "distance_from_ma50_pct": -13.099346971343673, "volatility_20d_pct": 103.35889764533842, "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": "SAVE_CFD.FR", "name": "Savencia SA", "sector": "", "last_price": 60.6, "change_1d_pct": 3.061224489795933, "distance_from_ma200_pct": -0.9672039658876197, "distance_from_ma50_pct": 1.4783010589913825, "volatility_20d_pct": 62.70418136867809, "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": "AAD_CFD.DE", "name": "AMADEUS FIRE AG", "sector": "", "last_price": 22.766, "change_1d_pct": -4.943632567849687, "distance_from_ma200_pct": -53.12533619229114, "distance_from_ma50_pct": -20.1649582870148, "volatility_20d_pct": 86.23579892666574, "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.928, "change_1d_pct": 3.87931034482758, "distance_from_ma200_pct": -8.319483774022752, "distance_from_ma50_pct": -5.317539827528616, "volatility_20d_pct": 106.3987258459563, "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": "ZAL_CFD.DE", "name": "ZALANDO SE", "sector": "", "last_price": 22.1, "change_1d_pct": 0.8211678832116709, "distance_from_ma200_pct": -8.92738298095923, "distance_from_ma50_pct": 3.3815593494352925, "volatility_20d_pct": 87.27891575772686, "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": "BRBY_CFD.UK", "name": "BURBERRY GROUP PLC", "sector": "", "last_price": 1172.0, "change_1d_pct": 16.212196331184934, "distance_from_ma200_pct": -1.9454171467429893, "distance_from_ma50_pct": 4.031394047309433, "volatility_20d_pct": 143.3726871662082, "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": "UN0_CFD.DE", "name": "UNIPER SE", "sector": "", "last_price": 40.55, "change_1d_pct": 0.24721878862792313, "distance_from_ma200_pct": 15.099671916261936, "distance_from_ma50_pct": 9.986025943140353, "volatility_20d_pct": 133.8090487364078, "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": "THG_CFD.UK",
"selection_reason": "Large 1-day drop (-21.46%), now 18.65% below 50-day MA, high volatility (150.53%) suggests oversold condition.",
"mean_reversion_score": 85
},
{
"symbol": "CRST_CFD.UK",
"selection_reason": "12.82% 1-day drop, 15.85% below 50-day MA, 28.15% below 200-day MA, high volatility (236.53%).",
"mean_reversion_score": 80
},
{
"symbol": "ICG_CFD.UK",
"selection_reason": "15.19% 1-day drop, 12.26% below 50-day MA, 16.18% below 200-day MA, moderate volatility (73.10%).",
"mean_reversion_score": 75
},
{
"symbol": "IWG_CFD.UK",
"selection_reason": "26.79% 1-day drop, 22.14% below 50-day MA, 17.65% below 200-day MA, high volatility (154.03%).",
"mean_reversion_score": 70
},
{
"symbol": "ITRK_CFD.UK",
"selection_reason": "13.96% 1-day drop, 13.10% below 50-day MA, 17.82% below 200-day MA, high volatility (103.36%).",
"mean_reversion_score": 78
}
],
"rejected_common_reasons": [
"Earnings date unknown (cannot confirm avoidance of earnings within 5 days).",
"Sector unknown (cannot confirm sector concentration).",
"Extreme 1-day moves without clear mean-reversion signals (e.g., FUTR_CFD.UK, AUTO_CFD.UK).",
"Low volatility or near moving averages (e.g., FGP_CFD.UK, SHC_CFD.UK)."
]
}#2255 • openrouter • mistralai/mistral-large-2512 • 2026-04-10T18:01:51.555658+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": "BOY_CFD.UK", "qty": 4.73186119873817, "avg_price": 634.0, "last_price": 634.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-31T17:54:15.044829+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": "BTRW_CFD.UK", "qty": 11.961722488038276, "avg_price": 250.8, "last_price": 259.9, "unrealized_pnl": 108.85167464114791, "opened_at": "2026-03-23T18:04:09.108429+00:00"}, {"symbol": "BYIT_CFD.UK", "qty": 0.0, "avg_price": 292.6, "last_price": 292.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-15T10:57:15.913854+00:00"}, {"symbol": "CBG_CFD.UK", "qty": 0.0, "avg_price": 342.92, "last_price": 342.92, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "CRST_CFD.UK", "qty": 0.0, "avg_price": 118.83, "last_price": 103.4, "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": 0.0, "avg_price": 95.5, "last_price": 90.3, "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": 144.51999999999998, "unrealized_pnl": 181.2745349818392, "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": 10.55594651653765, "avg_price": 284.2, "last_price": 285.6, "unrealized_pnl": 14.77832512315307, "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": "HAS_CFD.UK", "qty": 92.36453201970444, "avg_price": 32.48, "last_price": 32.48, "unrealized_pnl": 0.0, "opened_at": "2026-04-08T10:08:21.944296+00:00"}, {"symbol": "HIK_CFD.UK", "qty": 4.854368932038835, "avg_price": 1236.0, "last_price": 1325.0, "unrealized_pnl": 432.0388349514563, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "ICG_CFD.UK", "qty": 2.0053475935828877, "avg_price": 1496.0, "last_price": 1496.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": 772.8, "unrealized_pnl": 127.90070156502931, "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": 17.421602787456447, "avg_price": 172.2, "last_price": 172.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T18:18:58.833148+00:00"}, {"symbol": "JDW_CFD.UK", "qty": 0.0, "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": 1.6528925619834711, "avg_price": 1815.0, "last_price": 2000.0, "unrealized_pnl": 305.78512396694214, "opened_at": "2026-03-03T10:20:03.276878+00:00"}, {"symbol": "KGF_CFD.UK", "qty": 10.526315789473685, "avg_price": 285.0, "last_price": 304.1, "unrealized_pnl": 201.05263157894763, "opened_at": "2026-03-27T09:59:46.331143+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": "MCG_CFD.UK", "qty": 0.0, "avg_price": 17.39, "last_price": 17.39, "unrealized_pnl": 0.0, "opened_at": "2026-03-27T18:04:13.865611+00:00"}, {"symbol": "MSLH_CFD.UK", "qty": 0.0, "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": 32.25806451612903, "avg_price": 186.0, "last_price": 186.0, "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": 135.44018058690745, "avg_price": 132.9, "last_price": 132.9, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T10:33:43.857578+00:00"}, {"symbol": "PAG_CFD.UK", "qty": 3.9190071848465053, "avg_price": 765.5, "last_price": 765.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-22T18:18:31.438015+00:00"}, {"symbol": "PSN_CFD.UK", "qty": 0.0, "avg_price": 1068.0, "last_price": 1066.5, "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": 1220.0, "last_price": 1202.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T10:35:48.762746+00:00"}, {"symbol": "SYNT_CFD.UK", "qty": 85.9598853868195, "avg_price": 34.9, "last_price": 47.9, "unrealized_pnl": 1117.4785100286533, "opened_at": "2026-03-04T18:49:26.891792+00:00"}, {"symbol": "THG_CFD.UK", "qty": 103.8781163434903, "avg_price": 28.88, "last_price": 28.88, "unrealized_pnl": 0.0, "opened_at": "2026-04-07T10:08:43.931517+00:00"}, {"symbol": "TPK_CFD.UK", "qty": 5.328975415660082, "avg_price": 562.96, "last_price": 562.96, "unrealized_pnl": 0.0, "opened_at": "2026-03-22T18:18:31.438015+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": 102.5, "unrealized_pnl": 329.72387655657843, "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": "UTG_CFD.UK", "qty": 0.0, "avg_price": 505.0, "last_price": 505.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-26T17:55:26.602359+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": "THG_CFD.UK", "mean_reversion_score": 85, "selection_reason": "Large 1-day drop (-21.46%), now 18.65% below 50-day MA, high volatility (150.53%) suggests oversold condition."}, {"symbol": "CRST_CFD.UK", "mean_reversion_score": 80, "selection_reason": "12.82% 1-day drop, 15.85% below 50-day MA, 28.15% below 200-day MA, high volatility (236.53%)."}, {"symbol": "ICG_CFD.UK", "mean_reversion_score": 75, "selection_reason": "15.19% 1-day drop, 12.26% below 50-day MA, 16.18% below 200-day MA, moderate volatility (73.10%)."}, {"symbol": "IWG_CFD.UK", "mean_reversion_score": 70, "selection_reason": "26.79% 1-day drop, 22.14% below 50-day MA, 17.65% below 200-day MA, high volatility (154.03%)."}, {"symbol": "ITRK_CFD.UK", "mean_reversion_score": 78, "selection_reason": "13.96% 1-day drop, 13.10% below 50-day MA, 17.82% below 200-day MA, high volatility (103.36%)."}], "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 (80), significant 1-day drop (-12.82%), 15.85% below 50-day MA, high volatility suggests oversold condition.",
"symbol": "CRST_CFD.UK",
"position_size": 3000
},
{
"reason": "High mean-reversion score (78), 13.96% 1-day drop, 13.10% below 50-day MA, high volatility suggests oversold condition.",
"symbol": "ITRK_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "No strong mean-reversion signal; marginal changes, prefer HOLD.",
"symbol": "BOY_CFD.UK"
},
{
"reason": "Moderate unrealized PnL (+4.33%), no strong mean-reversion signal to exit.",
"symbol": "BTRW_CFD.UK"
},
{
"reason": "Positive unrealized PnL (+6.17%), no strong mean-reversion signal to exit.",
"symbol": "EXPD_CFD.US"
},
{
"reason": "Marginal unrealized PnL (+0.52%), no strong mean-reversion signal to exit.",
"symbol": "FUTR_CFD.UK"
},
{
"reason": "Positive unrealized PnL (+7.14%), no strong mean-reversion signal to exit.",
"symbol": "HIK_CFD.UK"
},
{
"reason": "No strong mean-reversion signal; price unchanged from entry, but candidate for potential BUY if capital available.",
"symbol": "ICG_CFD.UK"
},
{
"reason": "Positive unrealized PnL (+4.29%), no strong mean-reversion signal to exit.",
"symbol": "INF_CFD.UK"
},
{
"reason": "No strong mean-reversion signal; price unchanged from entry, but candidate for potential BUY if capital available.",
"symbol": "IWG_CFD.UK"
},
{
"reason": "Positive unrealized PnL (+10.20%), no strong mean-reversion signal to exit.",
"symbol": "JMAT_CFD.UK"
},
{
"reason": "Positive unrealized PnL (+6.70%), no strong mean-reversion signal to exit.",
"symbol": "KGF_CFD.UK"
},
{
"reason": "No strong mean-reversion signal; price unchanged from entry, prefer HOLD.",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "No strong mean-reversion signal; price unchanged from entry, prefer HOLD.",
"symbol": "PAGE_CFD.UK"
},
{
"reason": "No strong mean-reversion signal; price unchanged from entry, prefer HOLD.",
"symbol": "PAG_CFD.UK"
},
{
"reason": "Strong unrealized PnL (+37.18%), no strong mean-reversion signal to exit.",
"symbol": "SYNT_CFD.UK"
},
{
"reason": "No strong mean-reversion signal; price unchanged from entry, prefer HOLD.",
"symbol": "TPK_CFD.UK"
},
{
"reason": "Positive unrealized PnL (+11.01%), no strong mean-reversion signal to exit.",
"symbol": "UKW_CFD.UK"
}
],
"sell": [
{
"reason": "No significant mean-reversion signal; price unchanged from entry, prefer to free up capital for stronger candidates.",
"symbol": "HAS_CFD.UK"
},
{
"reason": "No clear mean-reversion progress; price unchanged from entry, prefer to reallocate capital to higher-scoring candidates.",
"symbol": "THG_CFD.UK"
}
]
},
"portfolio_rationale": "Portfolio adjustments focused on reallocating capital from positions with no clear mean-reversion progress (HAS_CFD.UK, THG_CFD.UK) to high-scoring mean-reversion candidates (CRST_CFD.UK, ITRK_CFD.UK). Existing positions with positive PnL or marginal changes are held to avoid overtrading. The strategy adheres to max 2 sells/buys per run and maintains gross leverage constraints."
}Selection logs
#1092 • stage1 • 2026-04-10T18:01:51.547357+00:00
{
"selected_stocks": [
{
"symbol": "THG_CFD.UK",
"selection_reason": "Large 1-day drop (-21.46%), now 18.65% below 50-day MA, high volatility (150.53%) suggests oversold condition.",
"mean_reversion_score": 85
},
{
"symbol": "CRST_CFD.UK",
"selection_reason": "12.82% 1-day drop, 15.85% below 50-day MA, 28.15% below 200-day MA, high volatility (236.53%).",
"mean_reversion_score": 80
},
{
"symbol": "ICG_CFD.UK",
"selection_reason": "15.19% 1-day drop, 12.26% below 50-day MA, 16.18% below 200-day MA, moderate volatility (73.10%).",
"mean_reversion_score": 75
},
{
"symbol": "IWG_CFD.UK",
"selection_reason": "26.79% 1-day drop, 22.14% below 50-day MA, 17.65% below 200-day MA, high volatility (154.03%).",
"mean_reversion_score": 70
},
{
"symbol": "ITRK_CFD.UK",
"selection_reason": "13.96% 1-day drop, 13.10% below 50-day MA, 17.82% below 200-day MA, high volatility (103.36%).",
"mean_reversion_score": 78
}
],
"rejected_common_reasons": [
"Earnings date unknown (cannot confirm avoidance of earnings within 5 days).",
"Sector unknown (cannot confirm sector concentration).",
"Extreme 1-day moves without clear mean-reversion signals (e.g., FUTR_CFD.UK, AUTO_CFD.UK).",
"Low volatility or near moving averages (e.g., FGP_CFD.UK, SHC_CFD.UK)."
]
}