Arena run #662
meanrev-v1 • x-ai • x-ai/grok-4.1-fast • EU • success
Run status
as_of: 2026-03-16T10:12:30.296045+00:00
started_at: 2026-03-16T12:19:00.689671+00:00
finished_at: 2026-03-16T12:20:10.813434+00:00
duration_ms: 70122
Inputs
{
"as_of": "2026-03-16T10:12:30.296045+00:00",
"dry_run": false,
"selected": [
{
"symbol": "TRST_CFD.UK",
"selection_reason": "-27.6% 1d drop, -10.7% below MA50, -26.8% below MA200, vol 229%",
"mean_reversion_score": 97
},
{
"symbol": "OCDO_CFD.UK",
"selection_reason": "-21.1% 1d drop, -5.5% below MA50, -15.8% below MA200, vol 241%",
"mean_reversion_score": 95
},
{
"symbol": "FUTR_CFD.UK",
"selection_reason": "-20.8% 1d drop, -24.3% below MA50, -37.7% below MA200, vol 154%",
"mean_reversion_score": 94
},
{
"symbol": "RSW_CFD.UK",
"selection_reason": "+18.2% 1d rise, +14.3% above MA50, +36.8% above MA200, vol 93%",
"mean_reversion_score": 93
},
{
"symbol": "WIX_CFD.UK",
"selection_reason": "+16.0% 1d rise, +10.2% above MA50, +18.6% above MA200, vol 84%",
"mean_reversion_score": 91
}
],
"simulate_only": false,
"strict_replay": false,
"universe_symbols": [
"ROR_CFD.UK",
"WTB_CFD.UK",
"SAFE_CFD.UK",
"UTG_CFD.UK",
"TRN_CFD.UK",
"WIX_CFD.UK",
"CBG_CFD.UK",
"RSW_CFD.UK",
"DLN_CFD.UK",
"SGRO_CFD.UK",
"EMG_CFD.UK",
"OCDO_CFD.UK",
"LIO_CFD.UK",
"SMIN_CFD.UK",
"MNDI_CFD.UK",
"CCC_CFD.UK",
"FOXA_CFD.US",
"DOM_CFD.UK",
"TRST_CFD.UK",
"OSB_CFD.UK",
"ATG_CFD.UK",
"BME_CFD.UK",
"GROW_CFD.UK",
"WEIR_CFD.UK",
"BYIT_CFD.UK",
"SAX_CFD.DE",
"WKP_CFD.UK",
"EGL_CFD.PT",
"MPT_CFD.US",
"FUTR_CFD.UK",
"DPLM_CFD.UK",
"ZIL2_CFD.DE",
"ADBE_CFD.US",
"PWR_CFD.US",
"ASY_CFD.FR",
"MTN_CFD.US",
"WDC_CFD.US",
"GT_CFD.US",
"HMSO_CFD.UK",
"MSLH_CFD.UK",
"AML_CFD.UK",
"ELIOR_CFD.FR",
"UKW_CFD.UK",
"FMC_CFD.US",
"GLPG_CFD.NL",
"ARMK_CFD.US",
"AMG_CFD.NL",
"SBGI_CFD.US"
]
}Outputs
{
"actions": {
"buy": [
{
"reason": "Top mean-reversion score 97: -27.6% 1d drop, -10.7% below MA50, -26.8% below MA200, high vol 229%; strong oversold buy signal",
"symbol": "TRST_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Positive PnL, stable; no stronger signal",
"symbol": "BIG_CFD.FR"
},
{
"reason": "Positive PnL (~2%), stable; retain",
"symbol": "BLND_CFD.UK"
},
{
"reason": "Flat PnL, stable; no sell signal",
"symbol": "BYIT_CFD.UK"
},
{
"reason": "Flat PnL, high mean-reversion score (94) as candidate; strong hold",
"symbol": "FUTR_CFD.UK"
},
{
"reason": "Flat PnL, high mean-reversion score (95) as candidate; strong hold",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "Slight positive PnL, stable; retain",
"symbol": "PAGE_CFD.UK"
},
{
"reason": "Flat PnL, stable; no sell signal",
"symbol": "THG_CFD.UK"
},
{
"reason": "Flat PnL, stable; retain despite US",
"symbol": "ULTA_CFD.US"
},
{
"reason": "Flat PnL, stable; no sell signal",
"symbol": "UTG_CFD.UK"
}
],
"sell": [
{
"reason": "Flat PnL (0), recent position, US stock in EU-focused region; rotate to higher conviction EU mean-reversion opportunity",
"symbol": "MPT_CFD.US"
}
]
},
"portfolio_rationale": "Portfolio at max 10 positions and 3x leverage. Rotate 1 flat US position (MPT) into top oversold EU candidate TRST (score 97, extreme deviation) for clear improvement. Reinforces holds on other high-score candidates (OCDO 95, FUTR 94). Limits to 1 sell/1 buy per overtrading rules; all other holdings stable/positive."
}Prompts & responses
#1308 • openrouter • x-ai/grok-4.1-fast • 2026-03-16T12:19:00.735193+00:00
System prompt
You are an Arena strategy executor. You must follow the strategy rules strictly and output ONLY valid JSON. You are NOT allowed to invent prices, fundamentals, earnings dates, or sentiment. If a field is null/empty, treat it as unknown. You are a constrained selector (no narrative).
User prompt
{"task": "stage1_universe_scan", "region": "EU", "strategy": {"key": "meanrev-v1", "name": "Two-Stage LLM Mean-Reversion (Arena v1)", "rules": {"max_positions": 10, "max_buys_per_run": 2, "avoid_overtrading": true, "max_sells_per_run": 2, "max_gross_leverage": 3.0, "fixed_position_size": 3000.0, "universe_symbols_eu": [], "universe_symbols_us": []}}, "selection_rules": {"horizon": "2-10 trading days", "target": "short-term mean reversion in liquid equities", "constraints": ["Select exactly 5 candidates", "Avoid earnings within 5 trading days (if known)", "Avoid highly binary/event-driven moves (if known)", "Avoid sector concentration: max 1 per sector unless clearly justified (sector may be unknown)"]}, "universe": [{"symbol": "ROR_CFD.UK", "name": "ROTORK PLC", "sector": "", "last_price": 371.2, "change_1d_pct": 8.538011695906423, "distance_from_ma200_pct": 13.511525838626781, "distance_from_ma50_pct": 8.597200345451439, "volatility_20d_pct": 70.27413083068154, "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": "WTB_CFD.UK", "name": "WHITBREAD PLC", "sector": "", "last_price": 2691.0, "change_1d_pct": 11.659751037344401, "distance_from_ma200_pct": -5.969827496214986, "distance_from_ma50_pct": -5.069507041577781, "volatility_20d_pct": 87.61035263352142, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SAFE_CFD.UK", "name": "SAFESTORE HOLDINGS PLC", "sector": "", "last_price": 802.5, "change_1d_pct": 13.187588152327212, "distance_from_ma200_pct": 21.40724384452035, "distance_from_ma50_pct": 10.29872606002229, "volatility_20d_pct": 81.07249455345375, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "UTG_CFD.UK", "name": "UNITE GROUP PLC/THE", "sector": "", "last_price": 567.5, "change_1d_pct": 3.4639927073837784, "distance_from_ma200_pct": -23.929923575376698, "distance_from_ma50_pct": -3.6875042216270137, "volatility_20d_pct": 73.84223442053181, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "TRN_CFD.UK", "name": "TRAINLINE PLC", "sector": "", "last_price": 206.0, "change_1d_pct": -12.93322062552832, "distance_from_ma200_pct": -22.557701091522887, "distance_from_ma50_pct": -12.560104316644482, "volatility_20d_pct": 131.09279103846345, "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": "WIX_CFD.UK", "name": "WICKES GROUP PLC", "sector": "", "last_price": 247.5, "change_1d_pct": 15.984816533108393, "distance_from_ma200_pct": 18.647646929530737, "distance_from_ma50_pct": 10.198455173494668, "volatility_20d_pct": 84.25206447406164, "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": 497.8, "change_1d_pct": -5.89792060491493, "distance_from_ma200_pct": 15.793508864321094, "distance_from_ma50_pct": 3.592137485786795, "volatility_20d_pct": 116.76618625853061, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "RSW_CFD.UK", "name": "RENISHAW PLC", "sector": "", "last_price": 4100.0, "change_1d_pct": 18.155619596541793, "distance_from_ma200_pct": 36.779911314574385, "distance_from_ma50_pct": 14.333028240759926, "volatility_20d_pct": 92.61568245477878, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "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": "SGRO_CFD.UK", "name": "SEGRO PLC", "sector": "", "last_price": 789.8, "change_1d_pct": 5.166444740346199, "distance_from_ma200_pct": 16.137238395282736, "distance_from_ma50_pct": 8.124180991500651, "volatility_20d_pct": 71.28658783635437, "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": "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": "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": "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": "MNDI_CFD.UK", "name": "MONDI PLC", "sector": "", "last_price": 852.4, "change_1d_pct": -11.595104750051865, "distance_from_ma200_pct": -14.237828442253509, "distance_from_ma50_pct": -4.452101627811578, "volatility_20d_pct": 104.65815372523797, "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": "CCC_CFD.UK", "name": "COMPUTACENTER PLC", "sector": "", "last_price": 3126.0, "change_1d_pct": -1.821608040201006, "distance_from_ma200_pct": 22.396205247786227, "distance_from_ma50_pct": 6.426296215091432, "volatility_20d_pct": 111.01536155240576, "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": "FOXA_CFD.US", "name": "FOX CORP - CLASS A", "sector": "", "last_price": 59.43, "change_1d_pct": 1.3817809621289756, "distance_from_ma200_pct": -3.706794236666111, "distance_from_ma50_pct": -9.013246128125518, "volatility_20d_pct": 76.08943961194082, "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": "TRST_CFD.UK", "name": "TRUSTPILOT AS", "sector": "", "last_price": 156.6, "change_1d_pct": -27.567067530064747, "distance_from_ma200_pct": -26.81677017545049, "distance_from_ma50_pct": -10.671300046318578, "volatility_20d_pct": 228.54402237564213, "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": 575.5, "change_1d_pct": -8.50556438791733, "distance_from_ma200_pct": 7.26309045372473, "distance_from_ma50_pct": -3.1605502163448818, "volatility_20d_pct": 83.79306172690484, "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": 305.0, "change_1d_pct": 4.2735042735042805, "distance_from_ma200_pct": -30.344980756373573, "distance_from_ma50_pct": -1.1704016694101371, "volatility_20d_pct": 159.9931345477538, "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": 187.88, "change_1d_pct": 1.0107526881720341, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 7.318666981973787, "volatility_20d_pct": 3503.713036055361, "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": "WEIR_CFD.UK", "name": "WEIR GROUP PLC/THE", "sector": "", "last_price": 2968.0, "change_1d_pct": -7.250000000000001, "distance_from_ma200_pct": 13.608616555186948, "distance_from_ma50_pct": -2.0329806894725966, "volatility_20d_pct": 126.53973442920609, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BYIT_CFD.UK", "name": "BYTES TECHNOLOGY GROUP PLC", "sector": "", "last_price": 300.4, "change_1d_pct": -12.674418604651173, "distance_from_ma200_pct": -28.03446775272175, "distance_from_ma50_pct": -14.34777426817815, "volatility_20d_pct": 87.82535981934274, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SAX_CFD.DE", "name": "", "sector": "", "last_price": 32.15, "change_1d_pct": -0.15527950310559868, "distance_from_ma200_pct": -19.801036724389974, "distance_from_ma50_pct": -6.814673370213276, "volatility_20d_pct": 62.31687656304465, "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": "EGL_CFD.PT", "name": "Mota-Engil SGPS SA", "sector": "", "last_price": 4.304, "change_1d_pct": -9.159983115238479, "distance_from_ma200_pct": -11.823335265953839, "distance_from_ma50_pct": -11.087239448840036, "volatility_20d_pct": 88.40473169152683, "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": "MPT_CFD.US", "name": "MEDICAL PROPERTIES TRUST INC", "sector": "", "last_price": 4.91, "change_1d_pct": -10.401459854014606, "distance_from_ma200_pct": 0.14787619193310508, "distance_from_ma50_pct": -8.138447146866223, "volatility_20d_pct": 139.4173956877411, "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": 423.6, "change_1d_pct": -20.82242990654205, "distance_from_ma200_pct": -37.68377383888033, "distance_from_ma50_pct": -24.301477407850992, "volatility_20d_pct": 153.59085037557008, "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": "DPLM_CFD.UK", "name": "DIPLOMA PLC", "sector": "", "last_price": 5220.0, "change_1d_pct": -5.434782608695654, "distance_from_ma200_pct": 4.8180942215069855, "distance_from_ma50_pct": -4.664614313757087, "volatility_20d_pct": 82.77890721911896, "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": "ZIL2_CFD.DE", "name": "ELRINGKLINGER AG", "sector": "", "last_price": 4.478, "change_1d_pct": 0.17897091722594016, "distance_from_ma200_pct": 3.288604923392735, "distance_from_ma50_pct": 3.9852497921688324, "volatility_20d_pct": 65.61565926158389, "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": "ADBE_CFD.US", "name": "Adobe Systems Incorporated", "sector": "", "last_price": 254.76, "change_1d_pct": -6.991347522908997, "distance_from_ma200_pct": -24.950575375976236, "distance_from_ma50_pct": -11.024807300743555, "volatility_20d_pct": 75.42837402664499, "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": "PWR_CFD.US", "name": "Quanta Services Inc", "sector": "", "last_price": 570.06, "change_1d_pct": -0.40010483096009075, "distance_from_ma200_pct": 32.66130003466283, "distance_from_ma50_pct": 13.629704223111737, "volatility_20d_pct": 75.10747878988178, "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": "ASY_CFD.FR", "name": "Assystem SA", "sector": "", "last_price": 42.35, "change_1d_pct": 0.6392433639884842, "distance_from_ma200_pct": -3.314398403808605, "distance_from_ma50_pct": -6.223109725826048, "volatility_20d_pct": 68.69862813560952, "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": "MTN_CFD.US", "name": "VAIL RESORTS INC", "sector": "", "last_price": 134.14, "change_1d_pct": -1.251472320376923, "distance_from_ma200_pct": -9.650746994476266, "distance_from_ma50_pct": -2.409284431756342, "volatility_20d_pct": 78.42663697712976, "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": "WDC_CFD.US", "name": "Western Digital Corporation", "sector": "", "last_price": 277.84, "change_1d_pct": 0.33222591362125353, "distance_from_ma200_pct": 93.67833739443938, "distance_from_ma50_pct": 10.13762446177886, "volatility_20d_pct": 155.57328227015603, "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": "GT_CFD.US", "name": "GOODYEAR TIRE & RUBBER CO", "sector": "", "last_price": 6.9, "change_1d_pct": -5.089408528198058, "distance_from_ma200_pct": -23.075636716333058, "distance_from_ma50_pct": -22.546752576162355, "volatility_20d_pct": 122.51572489644428, "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": "HMSO_CFD.UK", "name": "HAMMERSON PLC", "sector": "", "last_price": 355.4, "change_1d_pct": 14.129736673089276, "distance_from_ma200_pct": 22.516025502913806, "distance_from_ma50_pct": 10.006914897239172, "volatility_20d_pct": 87.54938293511039, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MSLH_CFD.UK", "name": "MARSHALLS PLC", "sector": "", "last_price": 182.32, "change_1d_pct": 0.8407079646017612, "distance_from_ma200_pct": -17.111863069088763, "distance_from_ma50_pct": 6.139091576985178, "volatility_20d_pct": 102.4204512350097, "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": "AML_CFD.UK", "name": "ASTON MARTIN LAGONDA GLOBAL", "sector": "", "last_price": 40.48, "change_1d_pct": -8.125283704039955, "distance_from_ma200_pct": -40.753533675571454, "distance_from_ma50_pct": -29.11725770639697, "volatility_20d_pct": 134.03421867122054, "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": "ELIOR_CFD.FR", "name": "Elior Group SCA", "sector": "", "last_price": 2.404, "change_1d_pct": -4.980237154150213, "distance_from_ma200_pct": -10.299176871814398, "distance_from_ma50_pct": -12.558924518419378, "volatility_20d_pct": 58.28588832534166, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "UKW_CFD.UK", "name": "GREENCOAT UK WIND PLC", "sector": "", "last_price": 96.65, "change_1d_pct": -2.864321608040199, "distance_from_ma200_pct": -13.509595378826178, "distance_from_ma50_pct": -7.518333665048904, "volatility_20d_pct": 52.20244024852636, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "FMC_CFD.US", "name": "FMC Corporation", "sector": "", "last_price": 14.29, "change_1d_pct": 0.7757404795486478, "distance_from_ma200_pct": -47.23374086560298, "distance_from_ma50_pct": -4.264869427733053, "volatility_20d_pct": 124.54433559318134, "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": "GLPG_CFD.NL", "name": "Galapagos", "sector": "", "last_price": 27.84, "change_1d_pct": -1.6254416961130724, "distance_from_ma200_pct": 1.2473535763791066, "distance_from_ma50_pct": -2.5278341852811304, "volatility_20d_pct": 76.06783383943537, "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": "ARMK_CFD.US", "name": "Aramark Holdings", "sector": "", "last_price": 40.6, "change_1d_pct": 1.907630522088355, "distance_from_ma200_pct": 2.8443036034769387, "distance_from_ma50_pct": 2.8775301284195365, "volatility_20d_pct": 79.10676557514627, "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": "AMG_CFD.NL", "name": "AMG ADVANCED METALLURGICAL", "sector": "", "last_price": 32.682, "change_1d_pct": -7.9380281690140775, "distance_from_ma200_pct": 15.692836616170403, "distance_from_ma50_pct": -8.799983926562248, "volatility_20d_pct": 128.71231047796536, "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": "SBGI_CFD.US", "name": "SINCLAIR INC", "sector": "", "last_price": 14.31, "change_1d_pct": -1.919122686771757, "distance_from_ma200_pct": -1.4883451969544659, "distance_from_ma50_pct": -3.4439016490782848, "volatility_20d_pct": 151.16131595505473, "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": "TRST_CFD.UK",
"selection_reason": "-27.6% 1d drop, -10.7% below MA50, -26.8% below MA200, vol 229%",
"mean_reversion_score": 97
},
{
"symbol": "OCDO_CFD.UK",
"selection_reason": "-21.1% 1d drop, -5.5% below MA50, -15.8% below MA200, vol 241%",
"mean_reversion_score": 95
},
{
"symbol": "FUTR_CFD.UK",
"selection_reason": "-20.8% 1d drop, -24.3% below MA50, -37.7% below MA200, vol 154%",
"mean_reversion_score": 94
},
{
"symbol": "RSW_CFD.UK",
"selection_reason": "+18.2% 1d rise, +14.3% above MA50, +36.8% above MA200, vol 93%",
"mean_reversion_score": 93
},
{
"symbol": "WIX_CFD.UK",
"selection_reason": "+16.0% 1d rise, +10.2% above MA50, +18.6% above MA200, vol 84%",
"mean_reversion_score": 91
}
],
"rejected_common_reasons": [
"Small 1d move (<10%)",
"Low |MA50 deviation| (<8%)",
"Low |MA200 deviation| (<15%)"
]
}#1309 • openrouter • x-ai/grok-4.1-fast • 2026-03-16T12:19:21.094823+00:00
System prompt
You are an Arena portfolio manager. You must follow the strategy rules strictly and output ONLY valid JSON. You are NOT allowed to invent prices/fundamentals/news/earnings. If a field is null/empty, treat it as unknown. Avoid overtrading: if changes are marginal, prefer HOLD. Do not churn.
User prompt
{"task": "stage2_portfolio_management", "region": "EU", "strategy": {"key": "meanrev-v1", "name": "Two-Stage LLM Mean-Reversion (Arena v1)", "rules": {"max_positions": 10, "max_buys_per_run": 2, "avoid_overtrading": true, "max_sells_per_run": 2, "max_gross_leverage": 3.0, "fixed_position_size": 3000.0, "universe_symbols_eu": [], "universe_symbols_us": []}}, "portfolio_constraints": {"initial_equity": 10000.0, "max_positions": 10, "fixed_position_size": 3000.0, "max_gross_leverage": 3.0, "overtrading_rules": ["Max 2 SELL actions per run unless risk event forces more", "Max 2 BUY actions per run", "If no clear improvement vs current holdings, output HOLD for everything"]}, "current_portfolio": [{"symbol": "ABF_CFD.UK", "qty": 0.0, "avg_price": 1868.5, "last_price": 1846.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T18:02:13.212382+00:00"}, {"symbol": "ADBE_CFD.US", "qty": 0.0, "avg_price": 249.47, "last_price": 249.47, "unrealized_pnl": 0.0, "opened_at": "2026-03-14T18:06:47.909233+00:00"}, {"symbol": "AML_CFD.UK", "qty": 0.0, "avg_price": 39.78, "last_price": 39.78, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "ARCAD_CFD.NL", "qty": 0.0, "avg_price": 29.7, "last_price": 28.06, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "BIG_CFD.FR", "qty": 10067.114093959732, "avg_price": 0.298, "last_price": 0.306, "unrealized_pnl": 80.53691275167793, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "BLND_CFD.UK", "qty": 8.237232289950576, "avg_price": 364.2, "last_price": 373.0, "unrealized_pnl": 72.48764415156516, "opened_at": "2026-03-10T10:41:24.306870+00:00"}, {"symbol": "BXP_CFD.US", "qty": 0.0, "avg_price": 60.835, "last_price": 59.405, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T17:33:48.338981+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-25T17:57:28.313088+00:00"}, {"symbol": "CABO_CFD.US", "qty": 0.0, "avg_price": 94.6, "last_price": 96.44, "unrealized_pnl": 58.3509513742073, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "CAR_CFD.US", "qty": 0.0, "avg_price": 92.465, "last_price": 97.54, "unrealized_pnl": 164.65689720434767, "opened_at": "2026-02-25T17:57:28.313088+00:00"}, {"symbol": "CCL_CFD.UK", "qty": 0.0, "avg_price": 1945.9999999999998, "last_price": 1858.65, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T18:02:13.212382+00:00"}, {"symbol": "COIN_CFD.US", "qty": 0.0, "avg_price": 168.575, "last_price": 171.13, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "CO_CFD.FR", "qty": 0.0, "avg_price": 0.171, "last_price": 0.2196, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T10:33:43.857578+00:00"}, {"symbol": "CRWD_CFD.US", "qty": 0.0, "avg_price": 350.79999999999995, "last_price": 350.055, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "DKNG_CFD.US", "qty": 0.0, "avg_price": 25.185000000000002, "last_price": 25.115000000000002, "unrealized_pnl": 0.0, "opened_at": "2026-03-05T18:20:59.102726+00:00"}, {"symbol": "ESTC_CFD.US", "qty": 0.0, "avg_price": 58.085, "last_price": 55.28, "unrealized_pnl": -144.87389171042437, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "EVT_CFD.DE", "qty": 0.0, "avg_price": 4.502, "last_price": 4.369, "unrealized_pnl": 0.0, "opened_at": "2026-03-11T10:11:17.665074+00:00"}, {"symbol": "EXPO_CFD.US", "qty": 0.0, "avg_price": 66.815, "last_price": 70.025, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "EZJ_CFD.UK", "qty": 0.0, "avg_price": 405.2, "last_price": 394.1, "unrealized_pnl": 0.0, "opened_at": "2026-03-08T10:05:58.226220+00:00"}, {"symbol": "FBIN_CFD.US", "qty": 0.0, "avg_price": 50.974999999999994, "last_price": 54.35, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "FICO_CFD.US", "qty": 0.0, "avg_price": 1127.4099999999999, "last_price": 1127.4099999999999, "unrealized_pnl": 0.0, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "FLO_CFD.US", "qty": 0.0, "avg_price": 9.875, "last_price": 10.055, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "FUTR_CFD.UK", "qty": 7.24287783679382, "avg_price": 414.2, "last_price": 414.2, "unrealized_pnl": 0.0, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "GO_CFD.US", "qty": 0.0, "avg_price": 5.71, "last_price": 6.05, "unrealized_pnl": 178.63397548161112, "opened_at": "2026-03-05T18:20:59.102726+00:00"}, {"symbol": "HAIN_CFD.US", "qty": 0.0, "avg_price": 0.8, "last_price": 0.8, "unrealized_pnl": 0.0, "opened_at": "2026-02-27T18:23:55.960577+00:00"}, {"symbol": "HIK_CFD.UK", "qty": 0.0, "avg_price": 1275.0, "last_price": 1342.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "HPP_CFD.US", "qty": 0.0, "avg_price": 7.59, "last_price": 7.47, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T18:49:26.891792+00:00"}, {"symbol": "ICG_CFD.UK", "qty": 0.0, "avg_price": 1700.0, "last_price": 1719.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+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-12T18:01:52.554929+00:00"}, {"symbol": "JBLU_CFD.US", "qty": 0.0, "avg_price": 4.22, "last_price": 4.52, "unrealized_pnl": 213.27014218009467, "opened_at": "2026-03-09T18:18:45.954380+00:00"}, {"symbol": "JUN3_CFD.DE", "qty": 0.0, "avg_price": 31.51, "last_price": 30.167, "unrealized_pnl": 0.0, "opened_at": "2026-03-02T10:31:26.559356+00:00"}, {"symbol": "LMND_CFD.US", "qty": 0.0, "avg_price": 61.5, "last_price": 59.89, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "LPX_CFD.US", "qty": 0.0, "avg_price": 86.45, "last_price": 86.15, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "LRCX_CFD.US", "qty": 0.0, "avg_price": 199.34, "last_price": 216.7, "unrealized_pnl": 0.0, "opened_at": "2026-03-08T18:08:31.007911+00:00"}, {"symbol": "MPT_CFD.US", "qty": 625.0, "avg_price": 4.8, "last_price": 4.8, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "NET_CFD.US", "qty": 0.0, "avg_price": 176.96, "last_price": 164.32, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}, {"symbol": "OCDO_CFD.UK", "qty": 14.684287812041115, "avg_price": 204.3, "last_price": 204.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "OKTA_CFD.US", "qty": 0.0, "avg_price": 70.18, "last_price": 80.05, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "PAGE_CFD.UK", "qty": 19.74853531696399, "avg_price": 151.91, "last_price": 152.7, "unrealized_pnl": 15.601342900401397, "opened_at": "2026-03-07T10:14:47.113218+00:00"}, {"symbol": "PAYC_CFD.US", "qty": 0.0, "avg_price": 121.22, "last_price": 119.79, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "PROX_CFD.BE", "qty": 0.0, "avg_price": 6.98, "last_price": 7.68, "unrealized_pnl": 0.0, "opened_at": "2026-02-28T10:51:05.818250+00:00"}, {"symbol": "RMV_CFD.UK", "qty": 0.0, "avg_price": 424.3, "last_price": 417.16, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "RVTY_CFD.US", "qty": 0.0, "avg_price": 91.28, "last_price": 91.28, "unrealized_pnl": 0.0, "opened_at": "2026-03-08T18:08:31.007911+00:00"}, {"symbol": "SYNT_CFD.UK", "qty": 0.0, "avg_price": 18.4, "last_price": 18.48, "unrealized_pnl": 13.043478260869868, "opened_at": "2026-03-03T18:03:34.247734+00:00"}, {"symbol": "THG_CFD.UK", "qty": 85.76329331046313, "avg_price": 34.98, "last_price": 34.98, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "TRN_CFD.UK", "qty": 0.0, "avg_price": 184.5, "last_price": 184.5, "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": 151.8, "unrealized_pnl": 0.0, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 0.0, "avg_price": 92.35, "last_price": 94.79, "unrealized_pnl": 79.26367081754236, "opened_at": "2026-02-23T10:32:09.961595+00:00"}, {"symbol": "ULTA_CFD.US", "qty": 5.605381165919282, "avg_price": 535.2, "last_price": 535.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "UTG_CFD.UK", "qty": 5.9405940594059405, "avg_price": 505.0, "last_price": 505.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T18:17:31.188931+00:00"}, {"symbol": "VTY_CFD.UK", "qty": 0.0, "avg_price": 427.6, "last_price": 406.1, "unrealized_pnl": 0.0, "opened_at": "2026-03-10T18:24:41.570614+00:00"}, {"symbol": "WIZZ_CFD.UK", "qty": 0.0, "avg_price": 872.0, "last_price": 976.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T10:19:46.508085+00:00"}, {"symbol": "WPP_CFD.UK", "qty": 0.0, "avg_price": 263.4, "last_price": 240.8, "unrealized_pnl": 0.0, "opened_at": "2026-02-28T10:51:05.818250+00:00"}, {"symbol": "ZS_CFD.US", "qty": 0.0, "avg_price": 159.76, "last_price": 144.45, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}], "candidates": [{"symbol": "TRST_CFD.UK", "mean_reversion_score": 97, "selection_reason": "-27.6% 1d drop, -10.7% below MA50, -26.8% below MA200, vol 229%"}, {"symbol": "OCDO_CFD.UK", "mean_reversion_score": 95, "selection_reason": "-21.1% 1d drop, -5.5% below MA50, -15.8% below MA200, vol 241%"}, {"symbol": "FUTR_CFD.UK", "mean_reversion_score": 94, "selection_reason": "-20.8% 1d drop, -24.3% below MA50, -37.7% below MA200, vol 154%"}, {"symbol": "RSW_CFD.UK", "mean_reversion_score": 93, "selection_reason": "+18.2% 1d rise, +14.3% above MA50, +36.8% above MA200, vol 93%"}, {"symbol": "WIX_CFD.UK", "mean_reversion_score": 91, "selection_reason": "+16.0% 1d rise, +10.2% above MA50, +18.6% above MA200, vol 84%"}], "output_schema": {"actions": {"sell": [{"symbol": "string", "reason": "string"}], "hold": [{"symbol": "string", "reason": "string"}], "buy": [{"symbol": "string", "position_size": "number (currency amount)", "reason": "string"}]}, "portfolio_rationale": "string"}}Output JSON
{
"actions": {
"buy": [
{
"reason": "Top mean-reversion score 97: -27.6% 1d drop, -10.7% below MA50, -26.8% below MA200, high vol 229%; strong oversold buy signal",
"symbol": "TRST_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Positive PnL, stable; no stronger signal",
"symbol": "BIG_CFD.FR"
},
{
"reason": "Positive PnL (~2%), stable; retain",
"symbol": "BLND_CFD.UK"
},
{
"reason": "Flat PnL, stable; no sell signal",
"symbol": "BYIT_CFD.UK"
},
{
"reason": "Flat PnL, high mean-reversion score (94) as candidate; strong hold",
"symbol": "FUTR_CFD.UK"
},
{
"reason": "Flat PnL, high mean-reversion score (95) as candidate; strong hold",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "Slight positive PnL, stable; retain",
"symbol": "PAGE_CFD.UK"
},
{
"reason": "Flat PnL, stable; no sell signal",
"symbol": "THG_CFD.UK"
},
{
"reason": "Flat PnL, stable; retain despite US",
"symbol": "ULTA_CFD.US"
},
{
"reason": "Flat PnL, stable; no sell signal",
"symbol": "UTG_CFD.UK"
}
],
"sell": [
{
"reason": "Flat PnL (0), recent position, US stock in EU-focused region; rotate to higher conviction EU mean-reversion opportunity",
"symbol": "MPT_CFD.US"
}
]
},
"portfolio_rationale": "Portfolio at max 10 positions and 3x leverage. Rotate 1 flat US position (MPT) into top oversold EU candidate TRST (score 97, extreme deviation) for clear improvement. Reinforces holds on other high-score candidates (OCDO 95, FUTR 94). Limits to 1 sell/1 buy per overtrading rules; all other holdings stable/positive."
}Selection logs
#651 • stage1 • 2026-03-16T12:19:21.092188+00:00
{
"selected_stocks": [
{
"symbol": "TRST_CFD.UK",
"selection_reason": "-27.6% 1d drop, -10.7% below MA50, -26.8% below MA200, vol 229%",
"mean_reversion_score": 97
},
{
"symbol": "OCDO_CFD.UK",
"selection_reason": "-21.1% 1d drop, -5.5% below MA50, -15.8% below MA200, vol 241%",
"mean_reversion_score": 95
},
{
"symbol": "FUTR_CFD.UK",
"selection_reason": "-20.8% 1d drop, -24.3% below MA50, -37.7% below MA200, vol 154%",
"mean_reversion_score": 94
},
{
"symbol": "RSW_CFD.UK",
"selection_reason": "+18.2% 1d rise, +14.3% above MA50, +36.8% above MA200, vol 93%",
"mean_reversion_score": 93
},
{
"symbol": "WIX_CFD.UK",
"selection_reason": "+16.0% 1d rise, +10.2% above MA50, +18.6% above MA200, vol 84%",
"mean_reversion_score": 91
}
],
"rejected_common_reasons": [
"Small 1d move (<10%)",
"Low |MA50 deviation| (<8%)",
"Low |MA200 deviation| (<15%)"
]
}