Arena run #739
meanrev-v1 • minimax • minimax/minimax-m2.1 • EU • success
Run status
as_of: 2026-03-20T10:26:40.341409+00:00
started_at: 2026-03-20T14:28:48.035563+00:00
finished_at: 2026-03-20T14:30:50.793917+00:00
duration_ms: 122757
Inputs
{
"as_of": "2026-03-20T10:26:40.341409+00:00",
"dry_run": false,
"selected": [
{
"symbol": "CBG_CFD.UK",
"selection_reason": "Oversold: -26.6% 1d, -22.1% below MA50, -13.4% below MA200, moderate vol 169%",
"mean_reversion_score": 95
},
{
"symbol": "ESNT_CFD.UK",
"selection_reason": "Oversold: -11.9% 1d, -3.3% below MA50, -5.4% below MA200, reasonable vol 151%",
"mean_reversion_score": 88
},
{
"symbol": "CRST_CFD.UK",
"selection_reason": "Overbought: +24.9% 1d, +17.8% above MA50, low vol 158%",
"mean_reversion_score": 92
},
{
"symbol": "RSW_CFD.UK",
"selection_reason": "Overbought: +18.2% 1d, +36.8% above MA200, low vol 93%",
"mean_reversion_score": 90
},
{
"symbol": "SPX_CFD.UK",
"selection_reason": "Overbought: +10.9% 1d, +15.9% above MA200, lowest vol 85%",
"mean_reversion_score": 82
}
],
"simulate_only": false,
"strict_replay": false,
"universe_symbols": [
"CRST_CFD.UK",
"SPX_CFD.UK",
"ESNT_CFD.UK",
"JDW_CFD.UK",
"SAFE_CFD.UK",
"RHIM_CFD.UK",
"CBG_CFD.UK",
"RSW_CFD.UK",
"DLN_CFD.UK",
"MCG_CFD.UK",
"CCL_CFD.UK",
"ABDN_CFD.UK",
"OCDO_CFD.UK",
"HWDN_CFD.UK",
"LRE_CFD.UK",
"CPG_CFD.UK",
"BME_CFD.UK",
"BYIT_CFD.UK",
"CF_CFD.US"
]
}Outputs
{
"actions": {
"buy": [
{
"reason": "Top mean reversion candidate (score 95): Oversold -26.6% 1d, -22.1% below MA50, -13.4% below MA200 with moderate volatility 169%. Strong reversal potential justifies new position at fixed size.",
"symbol": "CBG_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Oversold: -4.6% from avg, but already at full position size (3000 EUR). Mean reversion holds for recovery; no additional buying until price shows stabilization.",
"symbol": "HYQ_CFD.DE"
},
{
"reason": "Minor unrealized loss (-1.6%) within normal fluctuation. Not significantly oversold to warrant action; holding for mean reversion recovery.",
"symbol": "WTB_CFD.UK"
}
],
"sell": [
{
"reason": "Overbought: +18.2% 1d, +36.8% above MA200, low vol 93%. Mean reversion suggests selling overbought positions. Small position size (0.79 shares) makes clean exit optimal.",
"symbol": "RSW_CFD.UK"
}
]
},
"portfolio_rationale": "Mean reversion strategy: Selling RSW_CFD.UK (overbought +18.2% 1d, +36.8% above MA200) to capture gains and free capital. Buying CBG_CFD.UK as top oversold candidate with strong mean reversion score (95), significant price depression across multiple timeframes. Holding HYQ_CFD.DE and WTB_CFD.DE despite unrealized losses as they haven't reached sell thresholds; mean reversion suggests patience. Staying within 2 buy/2 sell limit and avoiding overtrading by maintaining existing positions that don't show clear improvement opportunities."
}Prompts & responses
#1462 • openrouter • minimax/minimax-m2.1 • 2026-03-20T14:28:48.055738+00:00
System prompt
You are an Arena strategy executor. You must follow the strategy rules strictly and output ONLY valid JSON. You are NOT allowed to invent prices, fundamentals, earnings dates, or sentiment. If a field is null/empty, treat it as unknown. You are a constrained selector (no narrative).
User prompt
{"task": "stage1_universe_scan", "region": "EU", "strategy": {"key": "meanrev-v1", "name": "Two-Stage LLM Mean-Reversion (Arena v1)", "rules": {"max_positions": 10, "max_buys_per_run": 2, "avoid_overtrading": true, "max_sells_per_run": 2, "max_gross_leverage": 3.0, "fixed_position_size": 3000.0, "universe_symbols_eu": [], "universe_symbols_us": []}}, "selection_rules": {"horizon": "2-10 trading days", "target": "short-term mean reversion in liquid equities", "constraints": ["Select exactly 5 candidates", "Avoid earnings within 5 trading days (if known)", "Avoid highly binary/event-driven moves (if known)", "Avoid sector concentration: max 1 per sector unless clearly justified (sector may be unknown)"]}, "universe": [{"symbol": "CRST_CFD.UK", "name": "CREST NICHOLSON HOLDINGS", "sector": "", "last_price": 167.8, "change_1d_pct": 24.85119047619049, "distance_from_ma200_pct": 1.2720261375977815, "distance_from_ma50_pct": 17.82963155418549, "volatility_20d_pct": 158.46878099582966, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SPX_CFD.UK", "name": "SPIRAX-SARCO ENGINEERING PLC", "sector": "", "last_price": 7608.71, "change_1d_pct": 10.91413994169097, "distance_from_ma200_pct": 15.905097055024719, "distance_from_ma50_pct": 8.459177525660632, "volatility_20d_pct": 84.71063298478786, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ESNT_CFD.UK", "name": "ESSENTRA PLC", "sector": "", "last_price": 95.5, "change_1d_pct": -11.900369003690036, "distance_from_ma200_pct": -5.3770131535859855, "distance_from_ma50_pct": -3.2917268350774465, "volatility_20d_pct": 6240.729897045604, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "JDW_CFD.UK", "name": "WETHERSPOON (J.D.) PLC", "sector": "", "last_price": 748.5, "change_1d_pct": 9.750733137829904, "distance_from_ma200_pct": 6.242631058659898, "distance_from_ma50_pct": 5.290077328071208, "volatility_20d_pct": 98.2373545531062, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SAFE_CFD.UK", "name": "SAFESTORE HOLDINGS PLC", "sector": "", "last_price": 708.0, "change_1d_pct": 0.14144271570013522, "distance_from_ma200_pct": 7.079918522466522, "distance_from_ma50_pct": -2.535991476029087, "volatility_20d_pct": 107.99712610776675, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "RHIM_CFD.UK", "name": "RHI MAGNESITA NV", "sector": "", "last_price": 2550.0, "change_1d_pct": -6.764168190127973, "distance_from_ma200_pct": -2.35709026809392, "distance_from_ma50_pct": 0.9429816244979738, "volatility_20d_pct": 151.25590362229855, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CBG_CFD.UK", "name": "CLOSE BROTHERS GROUP PLC", "sector": "", "last_price": 372.74, "change_1d_pct": -26.625984251968504, "distance_from_ma200_pct": -13.365429078084645, "distance_from_ma50_pct": -22.129222788055436, "volatility_20d_pct": 169.0552301316783, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "RSW_CFD.UK", "name": "RENISHAW PLC", "sector": "", "last_price": 4100.0, "change_1d_pct": 18.155619596541793, "distance_from_ma200_pct": 36.779911314574385, "distance_from_ma50_pct": 14.333028240759926, "volatility_20d_pct": 92.61568245477878, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "DLN_CFD.UK", "name": "DERWENT LONDON PLC", "sector": "", "last_price": 1812.0, "change_1d_pct": -7.219662058371734, "distance_from_ma200_pct": -2.516182676819012, "distance_from_ma50_pct": 4.053563926444004, "volatility_20d_pct": 7353.720365167649, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MCG_CFD.UK", "name": "MOBICO GROUP PLC", "sector": "", "last_price": 23.88, "change_1d_pct": -7.153965785381022, "distance_from_ma200_pct": -13.776450644419935, "distance_from_ma50_pct": 0.5778593931633935, "volatility_20d_pct": 15994.26624420948, "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": "CCL_CFD.UK", "name": "CARNIVAL PLC", "sector": "", "last_price": 1921.5, "change_1d_pct": -6.541828793774318, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -14.683615213991775, "volatility_20d_pct": 5150.407605401003, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ABDN_CFD.UK", "name": "Aberdeen Group Plc", "sector": "", "last_price": 206.2, "change_1d_pct": 0.4873294346978474, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -3.567353199768042, "volatility_20d_pct": 5122.525857900045, "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": 204.3, "change_1d_pct": -5.852534562211975, "distance_from_ma200_pct": -20.74296007004722, "distance_from_ma50_pct": -11.014745505656641, "volatility_20d_pct": 7390.803402578159, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "HWDN_CFD.UK", "name": "HOWDEN JOINERY GROUP PLC", "sector": "", "last_price": 843.0, "change_1d_pct": -2.686229466563539, "distance_from_ma200_pct": 2.9144756901175572, "distance_from_ma50_pct": 0.6796292983215046, "volatility_20d_pct": 44.16384759940265, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "LRE_CFD.UK", "name": "LANCASHIRE HOLDINGS LTD", "sector": "", "last_price": 611.0, "change_1d_pct": -7.424242424242422, "distance_from_ma200_pct": 0.4068944205071867, "distance_from_ma50_pct": -6.396619125545266, "volatility_20d_pct": 86.32350801127552, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CPG_CFD.UK", "name": "COMPASS GROUP PLC", "sector": "", "last_price": 2287.0, "change_1d_pct": -0.823937554206422, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 2.8011537977172374, "volatility_20d_pct": 2808.1897930853006, "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": "BYIT_CFD.UK", "name": "BYTES TECHNOLOGY GROUP PLC", "sector": "", "last_price": 316.4, "change_1d_pct": 1.9329896907216426, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -3.036395062333752, "volatility_20d_pct": 3610.9502328075146, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CF_CFD.US", "name": "CF Industries Holdings Inc", "sector": "", "last_price": 97.16, "change_1d_pct": 1.0609527771999083, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 11.562182562106349, "volatility_20d_pct": 3467.4527549275817, "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": "CBG_CFD.UK",
"selection_reason": "Oversold: -26.6% 1d, -22.1% below MA50, -13.4% below MA200, moderate vol 169%",
"mean_reversion_score": 95
},
{
"symbol": "ESNT_CFD.UK",
"selection_reason": "Oversold: -11.9% 1d, -3.3% below MA50, -5.4% below MA200, reasonable vol 151%",
"mean_reversion_score": 88
},
{
"symbol": "CRST_CFD.UK",
"selection_reason": "Overbought: +24.9% 1d, +17.8% above MA50, low vol 158%",
"mean_reversion_score": 92
},
{
"symbol": "RSW_CFD.UK",
"selection_reason": "Overbought: +18.2% 1d, +36.8% above MA200, low vol 93%",
"mean_reversion_score": 90
},
{
"symbol": "SPX_CFD.UK",
"selection_reason": "Overbought: +10.9% 1d, +15.9% above MA200, lowest vol 85%",
"mean_reversion_score": 82
}
],
"rejected_common_reasons": [
"Extreme volatility (>5000%): MCG, DLN, OCDO, CPG, BME, BYIT, CF",
"Insufficient price deviation for mean reversion: SAFE, HWDN, LRE, ABDN, JDW (moderate moves <10%)",
"Extreme overbought with very high vol: RHIM (-6.8% with 151% vol - less attractive)"
]
}#1463 • openrouter • minimax/minimax-m2.1 • 2026-03-20T14:29:45.743287+00:00
System prompt
You are an Arena portfolio manager. You must follow the strategy rules strictly and output ONLY valid JSON. You are NOT allowed to invent prices/fundamentals/news/earnings. If a field is null/empty, treat it as unknown. Avoid overtrading: if changes are marginal, prefer HOLD. Do not churn.
User prompt
{"task": "stage2_portfolio_management", "region": "EU", "strategy": {"key": "meanrev-v1", "name": "Two-Stage LLM Mean-Reversion (Arena v1)", "rules": {"max_positions": 10, "max_buys_per_run": 2, "avoid_overtrading": true, "max_sells_per_run": 2, "max_gross_leverage": 3.0, "fixed_position_size": 3000.0, "universe_symbols_eu": [], "universe_symbols_us": []}}, "portfolio_constraints": {"initial_equity": 10000.0, "max_positions": 10, "fixed_position_size": 3000.0, "max_gross_leverage": 3.0, "overtrading_rules": ["Max 2 SELL actions per run unless risk event forces more", "Max 2 BUY actions per run", "If no clear improvement vs current holdings, output HOLD for everything"]}, "current_portfolio": [{"symbol": "ABF_CFD.UK", "qty": 0.0, "avg_price": 1868.5, "last_price": 1849.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T18:02:13.212382+00:00"}, {"symbol": "AEO_CFD.US", "qty": 0.0, "avg_price": 22.265, "last_price": 18.64, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T21:11:27.888829+00:00"}, {"symbol": "AGFB_CFD.BE", "qty": 0.0, "avg_price": 0.465, "last_price": 0.452, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T21:11:27.888829+00:00"}, {"symbol": "AML_CFD.UK", "qty": 0.0, "avg_price": 39.92, "last_price": 42.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "ATG_CFD.UK", "qty": 10.135135135135135, "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": 40.34, "last_price": 39.505, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "AUTO_CFD.UK", "qty": 6.2137531068765535, "avg_price": 482.8, "last_price": 482.8, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T18:04:14.272849+00:00"}, {"symbol": "BIG_CFD.FR", "qty": 0.0, "avg_price": 0.453, "last_price": 0.296, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T09:32:59.506254+00:00"}, {"symbol": "BYIT_CFD.UK", "qty": 20.505809979494188, "avg_price": 292.6, "last_price": 292.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "CBG_CFD.UK", "qty": 8.748396127376648, "avg_price": 342.92, "last_price": 342.92, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T18:17:31.188931+00:00"}, {"symbol": "CCL_CFD.UK", "qty": 0.0, "avg_price": 1945.9999999999998, "last_price": 1989.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T18:02:13.212382+00:00"}, {"symbol": "CRWD_CFD.US", "qty": 0.0, "avg_price": 349.265, "last_price": 365.38, "unrealized_pnl": 0.0, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "DKNG_CFD.US", "qty": 0.0, "avg_price": 25.28, "last_price": 24.91, "unrealized_pnl": 0.0, "opened_at": "2026-03-05T18:20:59.102726+00:00"}, {"symbol": "DSY_CFD.FR", "qty": 0.0, "avg_price": 17.881, "last_price": 17.133, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "DT_CFD.US", "qty": 0.0, "avg_price": 34.105000000000004, "last_price": 35.864999999999995, "unrealized_pnl": 0.0, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "ERA_CFD.FR", "qty": 0.0, "avg_price": 47.4, "last_price": 48.88, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "FUTR_CFD.UK", "qty": 7.24287783679382, "avg_price": 414.2, "last_price": 414.2, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "GO_CFD.US", "qty": 0.0, "avg_price": 6.53, "last_price": 6.34, "unrealized_pnl": -87.28943338437996, "opened_at": "2026-03-05T18:20:59.102726+00:00"}, {"symbol": "HIK_CFD.UK", "qty": 0.0, "avg_price": 1409.0, "last_price": 1244.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "HYQ_CFD.DE", "qty": 36.452004860267316, "avg_price": 82.3, "last_price": 78.486, "unrealized_pnl": -139.02794653705928, "opened_at": "2026-03-19T10:09:24.325041+00:00"}, {"symbol": "INF_CFD.UK", "qty": 0.0, "avg_price": 795.2, "last_price": 785.85, "unrealized_pnl": 0.0, "opened_at": "2026-03-02T18:21:09.503139+00:00"}, {"symbol": "LIO_CFD.UK", "qty": 0.0, "avg_price": 250.0, "last_price": 250.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "LMND_CFD.US", "qty": 0.0, "avg_price": 48.96, "last_price": 52.07, "unrealized_pnl": 0.0, "opened_at": "2026-02-24T11:23:36.694156+00:00"}, {"symbol": "LPE_CFD.FR", "qty": 0.0, "avg_price": 88.414, "last_price": 86.679, "unrealized_pnl": 0.0, "opened_at": "2026-03-02T18:21:09.503139+00:00"}, {"symbol": "LXS_CFD.DE", "qty": 0.0, "avg_price": 13.14, "last_price": 13.24, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T10:33:43.857578+00:00"}, {"symbol": "MAN_CFD.US", "qty": 0.0, "avg_price": 25.68, "last_price": 27.94, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "MDB_CFD.US", "qty": 0.0, "avg_price": 252.01, "last_price": 263.69, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "OCDO_CFD.UK", "qty": 14.684287812041115, "avg_price": 204.3, "last_price": 204.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T09:32:59.506254+00:00"}, {"symbol": "PAGE_CFD.UK", "qty": 0.0, "avg_price": 151.91, "last_price": 152.7, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T10:33:43.857578+00:00"}, {"symbol": "PBB_CFD.DE", "qty": 1061.5711252653928, "avg_price": 2.826, "last_price": 2.86, "unrealized_pnl": 36.09341825902315, "opened_at": "2026-03-19T10:09:24.325041+00:00"}, {"symbol": "PROX_CFD.BE", "qty": 0.0, "avg_price": 6.98, "last_price": 7.3, "unrealized_pnl": 0.0, "opened_at": "2026-03-01T10:30:13.622938+00:00"}, {"symbol": "RCO_CFD.FR", "qty": 0.0, "avg_price": 44.34, "last_price": 43.58, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T10:32:09.961595+00:00"}, {"symbol": "RIVN_CFD.US", "qty": 0.0, "avg_price": 15.62, "last_price": 15.1, "unrealized_pnl": 0.0, "opened_at": "2026-03-12T18:01:52.554929+00:00"}, {"symbol": "RMV_CFD.UK", "qty": 0.0, "avg_price": 424.3, "last_price": 417.16, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "RSW_CFD.UK", "qty": 0.7915567282321899, "avg_price": 3790.0000000000005, "last_price": 3790.0, "unrealized_pnl": -3.599583252399452e-13, "opened_at": "2026-03-12T18:01:52.554929+00:00"}, {"symbol": "SGRO_CFD.UK", "qty": 0.0, "avg_price": 789.8, "last_price": 735.4, "unrealized_pnl": 0.0, "opened_at": "2026-03-08T18:08:31.007911+00:00"}, {"symbol": "TCAP_CFD.UK", "qty": 0.0, "avg_price": 247.99999999999997, "last_price": 255.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T18:49:26.891792+00:00"}, {"symbol": "TRN_CFD.UK", "qty": 0.0, "avg_price": 184.5, "last_price": 204.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-08T18:08:31.007911+00:00"}, {"symbol": "TRST_CFD.UK", "qty": 0.0, "avg_price": 151.8, "last_price": 224.82, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 0.0, "avg_price": 92.35, "last_price": 94.79, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T17:57:28.313088+00:00"}, {"symbol": "UTG_CFD.UK", "qty": 5.9405940594059405, "avg_price": 505.0, "last_price": 505.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-10T18:24:41.570614+00:00"}, {"symbol": "VTY_CFD.UK", "qty": 0.0, "avg_price": 385.0, "last_price": 354.1, "unrealized_pnl": 0.0, "opened_at": "2026-03-10T18:24:41.570614+00:00"}, {"symbol": "WIZZ_CFD.UK", "qty": 0.0, "avg_price": 908.5, "last_price": 878.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T10:20:03.276878+00:00"}, {"symbol": "WPP_CFD.UK", "qty": 0.0, "avg_price": 263.4, "last_price": 257.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-27T18:23:55.960577+00:00"}, {"symbol": "WTB_CFD.UK", "qty": 1.279317697228145, "avg_price": 2345.0, "last_price": 2308.0, "unrealized_pnl": -47.33475479744136, "opened_at": "2026-03-13T18:17:31.188931+00:00"}], "candidates": [{"symbol": "CBG_CFD.UK", "mean_reversion_score": 95, "selection_reason": "Oversold: -26.6% 1d, -22.1% below MA50, -13.4% below MA200, moderate vol 169%"}, {"symbol": "ESNT_CFD.UK", "mean_reversion_score": 88, "selection_reason": "Oversold: -11.9% 1d, -3.3% below MA50, -5.4% below MA200, reasonable vol 151%"}, {"symbol": "CRST_CFD.UK", "mean_reversion_score": 92, "selection_reason": "Overbought: +24.9% 1d, +17.8% above MA50, low vol 158%"}, {"symbol": "RSW_CFD.UK", "mean_reversion_score": 90, "selection_reason": "Overbought: +18.2% 1d, +36.8% above MA200, low vol 93%"}, {"symbol": "SPX_CFD.UK", "mean_reversion_score": 82, "selection_reason": "Overbought: +10.9% 1d, +15.9% above MA200, lowest vol 85%"}], "output_schema": {"actions": {"sell": [{"symbol": "string", "reason": "string"}], "hold": [{"symbol": "string", "reason": "string"}], "buy": [{"symbol": "string", "position_size": "number (currency amount)", "reason": "string"}]}, "portfolio_rationale": "string"}}Output JSON
{
"actions": {
"buy": [
{
"reason": "Top mean reversion candidate (score 95): Oversold -26.6% 1d, -22.1% below MA50, -13.4% below MA200 with moderate volatility 169%. Strong reversal potential justifies new position at fixed size.",
"symbol": "CBG_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Oversold: -4.6% from avg, but already at full position size (3000 EUR). Mean reversion holds for recovery; no additional buying until price shows stabilization.",
"symbol": "HYQ_CFD.DE"
},
{
"reason": "Minor unrealized loss (-1.6%) within normal fluctuation. Not significantly oversold to warrant action; holding for mean reversion recovery.",
"symbol": "WTB_CFD.UK"
}
],
"sell": [
{
"reason": "Overbought: +18.2% 1d, +36.8% above MA200, low vol 93%. Mean reversion suggests selling overbought positions. Small position size (0.79 shares) makes clean exit optimal.",
"symbol": "RSW_CFD.UK"
}
]
},
"portfolio_rationale": "Mean reversion strategy: Selling RSW_CFD.UK (overbought +18.2% 1d, +36.8% above MA200) to capture gains and free capital. Buying CBG_CFD.UK as top oversold candidate with strong mean reversion score (95), significant price depression across multiple timeframes. Holding HYQ_CFD.DE and WTB_CFD.DE despite unrealized losses as they haven't reached sell thresholds; mean reversion suggests patience. Staying within 2 buy/2 sell limit and avoiding overtrading by maintaining existing positions that don't show clear improvement opportunities."
}Selection logs
#728 • stage1 • 2026-03-20T14:29:45.739262+00:00
{
"selected_stocks": [
{
"symbol": "CBG_CFD.UK",
"selection_reason": "Oversold: -26.6% 1d, -22.1% below MA50, -13.4% below MA200, moderate vol 169%",
"mean_reversion_score": 95
},
{
"symbol": "ESNT_CFD.UK",
"selection_reason": "Oversold: -11.9% 1d, -3.3% below MA50, -5.4% below MA200, reasonable vol 151%",
"mean_reversion_score": 88
},
{
"symbol": "CRST_CFD.UK",
"selection_reason": "Overbought: +24.9% 1d, +17.8% above MA50, low vol 158%",
"mean_reversion_score": 92
},
{
"symbol": "RSW_CFD.UK",
"selection_reason": "Overbought: +18.2% 1d, +36.8% above MA200, low vol 93%",
"mean_reversion_score": 90
},
{
"symbol": "SPX_CFD.UK",
"selection_reason": "Overbought: +10.9% 1d, +15.9% above MA200, lowest vol 85%",
"mean_reversion_score": 82
}
],
"rejected_common_reasons": [
"Extreme volatility (>5000%): MCG, DLN, OCDO, CPG, BME, BYIT, CF",
"Insufficient price deviation for mean reversion: SAFE, HWDN, LRE, ABDN, JDW (moderate moves <10%)",
"Extreme overbought with very high vol: RHIM (-6.8% with 151% vol - less attractive)"
]
}