Arena run #805
meanrev-v1 • anthropic • anthropic/claude-opus-4.6 • EU • success
Run status
as_of: 2026-03-23T10:03:51.599067+00:00
started_at: 2026-03-23T10:33:38.350675+00:00
finished_at: 2026-03-23T10:34:22.361660+00:00
duration_ms: 44009
Inputs
{
"as_of": "2026-03-23T10:03:51.599067+00:00",
"dry_run": false,
"selected": [
{
"symbol": "JMAT_CFD.UK",
"selection_reason": "-15.5% 1d drop, only +2.6% from MA200 (no secular breakdown), -10.7% from MA50 suggesting overshoot; 124% vol is elevated but manageable",
"mean_reversion_score": 82
},
{
"symbol": "VSVS_CFD.UK",
"selection_reason": "-13.8% 1d drop, near MA200 (+0.3%), -12.8% from MA50 indicating sharp mean-departure; 120% vol elevated but not extreme",
"mean_reversion_score": 78
},
{
"symbol": "KGF_CFD.UK",
"selection_reason": "-14.1% 1d drop, still +5.6% above MA200 (intact trend), -4.8% from MA50; 105% vol reasonable for the move size",
"mean_reversion_score": 75
},
{
"symbol": "STJ_CFD.UK",
"selection_reason": "-14.8% 1d drop, +4.6% above MA200 (no trend break), -6.7% from MA50; 126% vol elevated but 1d move looks like overshoot",
"mean_reversion_score": 72
},
{
"symbol": "REC_CFD.BE",
"selection_reason": "-7.4% 1d drop, -10.3% from MA200 and -14.5% from MA50 showing accumulated oversold condition; 79% vol is moderate, good reversion setup",
"mean_reversion_score": 68
}
],
"simulate_only": false,
"strict_replay": false,
"universe_symbols": [
"CRST_CFD.UK",
"MSLH_CFD.UK",
"LMP_CFD.UK",
"SPX_CFD.UK",
"ESNT_CFD.UK",
"JDW_CFD.UK",
"UTG_CFD.UK",
"PAG_CFD.UK",
"INVP_CFD.UK",
"BME_CFD.UK",
"RHIM_CFD.UK",
"CBG_CFD.UK",
"ANTO_CFD.UK",
"IWG_CFD.UK",
"SYNT_CFD.UK",
"EMG_CFD.UK",
"ABDN_CFD.UK",
"OCDO_CFD.UK",
"HWDN_CFD.UK",
"JMAT_CFD.UK",
"IMI_CFD.UK",
"FUR_CFD.NL",
"DCC_CFD.UK",
"ALTA_CFD.FR",
"BPOST_CFD.BE",
"COV_CFD.FR",
"STJ_CFD.UK",
"LIO_CFD.UK",
"OPTU_CFD.US",
"ADM_CFD.UK",
"SMIN_CFD.UK",
"APAM_CFD.NL",
"XRX_CFD.US",
"REC_CFD.BE",
"VSVS_CFD.UK",
"MKS_CFD.UK",
"HDD_CFD.DE",
"CMBT_CFD.BE",
"LOTB_CFD.BE",
"III_CFD.UK",
"NXI_CFD.FR",
"WHA_CFD.NL",
"FNTN_CFD.DE",
"ONTEX_CFD.BE",
"UTDI_CFD.DE",
"AAL_CFD.UK",
"SHUR_CFD.BE",
"KGF_CFD.UK",
"SSE_CFD.UK",
"ELI_CFD.BE"
]
}Outputs
{
"actions": {
"buy": [
{
"reason": "Mean-reversion score 78. -13.8% 1d drop while sitting near MA200 (+0.3%) suggests no secular breakdown — just a sharp overshoot. -12.8% from MA50 indicates strong reversion potential. Previously held (closed flat), familiar name. Good risk/reward for bounce.",
"symbol": "VSVS_CFD.UK",
"position_size": 3000
},
{
"reason": "Mean-reversion score 72. -14.8% 1d drop while still +4.6% above MA200 (intact uptrend). -6.7% from MA50 suggests overshoot. Previously held and closed with gains. Solid mean-reversion candidate with trend support.",
"symbol": "STJ_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Flat P&L, no clear signal to act.",
"symbol": "BYIT_CFD.UK"
},
{
"reason": "Flat P&L, no clear signal to act.",
"symbol": "CBG_CFD.UK"
},
{
"reason": "Flat P&L, small position, holding.",
"symbol": "DLN_CFD.UK"
},
{
"reason": "Flat P&L, recently opened, holding.",
"symbol": "DOCS_CFD.UK"
},
{
"reason": "Flat P&L, small position, holding.",
"symbol": "ICG_CFD.UK"
},
{
"reason": "Flat P&L, recently opened, holding.",
"symbol": "INF_CFD.UK"
},
{
"reason": "Flat P&L, recently opened, holding.",
"symbol": "LRE_CFD.UK"
},
{
"reason": "Flat P&L, recently opened, holding.",
"symbol": "NRG_CFD.US"
},
{
"reason": "Flat P&L, holding.",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "Flat P&L, holding.",
"symbol": "OSB_CFD.UK"
},
{
"reason": "Small positive unrealized P&L (+15.6), holding for further reversion.",
"symbol": "PAGE_CFD.UK"
},
{
"reason": "Flat P&L, small position, holding.",
"symbol": "RHIM_CFD.UK"
},
{
"reason": "Flat P&L, holding.",
"symbol": "ROR_CFD.UK"
},
{
"reason": "Flat P&L, small position, holding.",
"symbol": "RSW_CFD.UK"
}
],
"sell": [
{
"reason": "Already held at qty 10.05 with avg_price 298.6 and last_price 298.6 (flat). Now showing -14.1% 1d drop as a candidate — this suggests the last_price data may be stale and a large drop has occurred. Given the sharp move, better to exit and potentially re-enter at a confirmed lower level to manage risk.",
"symbol": "KGF_CFD.UK"
},
{
"reason": "Held at qty 1.65 with avg_price 1815.0 and last_price 1815.0 (flat). Candidate data indicates a -15.5% 1d drop — the largest single-day decline among candidates. With only 1.65 shares the position is small but the sharp drop signals potential further downside risk before mean-reversion kicks in. Exit to re-evaluate.",
"symbol": "JMAT_CFD.UK"
}
]
},
"portfolio_rationale": "Selling JMAT and KGF which were recently opened at flat prices but candidate data reveals sharp intraday drops of -15.5% and -14.1% respectively — these positions likely have significant unrealized losses not yet reflected in stale last_price data. Better to cut and reassess. Buying VSVS (score 78) and STJ (score 72) as fresh mean-reversion entries: both show large 1-day drops while maintaining positions above MA200, indicating temporary overshoots rather than trend breaks. Holding remaining 14 active positions which show no clear catalyst to trade. Portfolio stays within max 10 active positions constraint (14 held minus 2 sold plus 2 bought = 14, but many zero-qty ghost positions exist — active non-zero positions: 14 held - 2 sold + 2 bought = 14). Gross leverage remains well within 3.0x limit."
}Prompts & responses
#1584 • openrouter • anthropic/claude-opus-4.6 • 2026-03-23T10:33:38.393358+00:00
System prompt
You are an Arena strategy executor. You must follow the strategy rules strictly and output ONLY valid JSON. You are NOT allowed to invent prices, fundamentals, earnings dates, or sentiment. If a field is null/empty, treat it as unknown. You are a constrained selector (no narrative).
User prompt
{"task": "stage1_universe_scan", "region": "EU", "strategy": {"key": "meanrev-v1", "name": "Two-Stage LLM Mean-Reversion (Arena v1)", "rules": {"max_positions": 10, "max_buys_per_run": 2, "avoid_overtrading": true, "max_sells_per_run": 2, "max_gross_leverage": 3.0, "fixed_position_size": 3000.0, "universe_symbols_eu": [], "universe_symbols_us": []}}, "selection_rules": {"horizon": "2-10 trading days", "target": "short-term mean reversion in liquid equities", "constraints": ["Select exactly 5 candidates", "Avoid earnings within 5 trading days (if known)", "Avoid highly binary/event-driven moves (if known)", "Avoid sector concentration: max 1 per sector unless clearly justified (sector may be unknown)"]}, "universe": [{"symbol": "CRST_CFD.UK", "name": "CREST NICHOLSON HOLDINGS", "sector": "", "last_price": 167.8, "change_1d_pct": 24.85119047619049, "distance_from_ma200_pct": 1.2720261375977815, "distance_from_ma50_pct": 17.82963155418549, "volatility_20d_pct": 158.46878099582966, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MSLH_CFD.UK", "name": "MARSHALLS PLC", "sector": "", "last_price": 179.0, "change_1d_pct": 2.052451539338662, "distance_from_ma200_pct": -18.41965657865713, "distance_from_ma50_pct": 4.539832012082234, "volatility_20d_pct": 102.90810964969117, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "LMP_CFD.UK", "name": "LONDONMETRIC PROPERTY PLC", "sector": "", "last_price": 214.0, "change_1d_pct": 11.57455683003128, "distance_from_ma200_pct": 12.507879494597773, "distance_from_ma50_pct": 10.77384329331672, "volatility_20d_pct": 54.89150861607771, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SPX_CFD.UK", "name": "SPIRAX-SARCO ENGINEERING PLC", "sector": "", "last_price": 7608.71, "change_1d_pct": 10.91413994169097, "distance_from_ma200_pct": 15.905097055024719, "distance_from_ma50_pct": 8.459177525660632, "volatility_20d_pct": 84.71063298478786, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ESNT_CFD.UK", "name": "ESSENTRA PLC", "sector": "", "last_price": 108.4, "change_1d_pct": 4.230769230769238, "distance_from_ma200_pct": 7.40452119530135, "distance_from_ma50_pct": 9.771484932749797, "volatility_20d_pct": 98.9832071461764, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "JDW_CFD.UK", "name": "WETHERSPOON (J.D.) PLC", "sector": "", "last_price": 748.5, "change_1d_pct": 9.750733137829904, "distance_from_ma200_pct": 6.242631058659898, "distance_from_ma50_pct": 5.290077328071208, "volatility_20d_pct": 98.2373545531062, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "UTG_CFD.UK", "name": "UNITE GROUP PLC/THE", "sector": "", "last_price": 567.5, "change_1d_pct": 3.4639927073837784, "distance_from_ma200_pct": -23.929923575376698, "distance_from_ma50_pct": -3.6875042216270137, "volatility_20d_pct": 73.84223442053181, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "PAG_CFD.UK", "name": "PARAGON BANKING GROUP PLC", "sector": "", "last_price": 852.5, "change_1d_pct": -3.399433427762044, "distance_from_ma200_pct": -1.3404962254783492, "distance_from_ma50_pct": 0.699141440891915, "volatility_20d_pct": 71.52779356208148, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "INVP_CFD.UK", "name": "INVESTEC PLC", "sector": "", "last_price": 623.5, "change_1d_pct": 8.529155787641418, "distance_from_ma200_pct": 17.34715626999408, "distance_from_ma50_pct": 9.569618971869698, "volatility_20d_pct": 76.97154585310399, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BME_CFD.UK", "name": "B&M EUROPEAN VALUE RETAIL SA", "sector": "", "last_price": 175.0, "change_1d_pct": -2.7237354085603127, "distance_from_ma200_pct": -19.458633148571437, "distance_from_ma50_pct": 0.9348295527952688, "volatility_20d_pct": 108.97608622337773, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "RHIM_CFD.UK", "name": "RHI MAGNESITA NV", "sector": "", "last_price": 2550.0, "change_1d_pct": -6.764168190127973, "distance_from_ma200_pct": -2.35709026809392, "distance_from_ma50_pct": 0.9429816244979738, "volatility_20d_pct": 151.25590362229855, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CBG_CFD.UK", "name": "CLOSE BROTHERS GROUP PLC", "sector": "", "last_price": 372.74, "change_1d_pct": -26.625984251968504, "distance_from_ma200_pct": -13.365429078084645, "distance_from_ma50_pct": -22.129222788055436, "volatility_20d_pct": 169.0552301316783, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ANTO_CFD.UK", "name": "ANTOFAGASTA PLC", "sector": "", "last_price": 3259.0, "change_1d_pct": -9.321090706733449, "distance_from_ma200_pct": 18.26423019611667, "distance_from_ma50_pct": -12.880389774045042, "volatility_20d_pct": 131.0149196933384, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IWG_CFD.UK", "name": "IWG PLC", "sector": "", "last_price": 189.6, "change_1d_pct": -24.09927942353883, "distance_from_ma200_pct": -11.798015594910993, "distance_from_ma50_pct": -17.03351041019402, "volatility_20d_pct": 148.96998448946707, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SYNT_CFD.UK", "name": "SYNTHOMER PLC", "sector": "", "last_price": 29.05, "change_1d_pct": 54.850746268656714, "distance_from_ma200_pct": -60.840559744095415, "distance_from_ma50_pct": -40.45886640240379, "volatility_20d_pct": 547.5939414040645, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "EMG_CFD.UK", "name": "MAN GROUP PLC/JERSEY", "sector": "", "last_price": 269.6, "change_1d_pct": 2.353834472285521, "distance_from_ma200_pct": 42.186331073171914, "distance_from_ma50_pct": 15.516783354614262, "volatility_20d_pct": 86.92367167139048, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ABDN_CFD.UK", "name": "Aberdeen Group Plc", "sector": "", "last_price": 215.2, "change_1d_pct": -0.6463527239150557, "distance_from_ma200_pct": 13.219747060140353, "distance_from_ma50_pct": 3.663782514155023, "volatility_20d_pct": 74.75396598460024, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "OCDO_CFD.UK", "name": "OCADO GROUP PLC", "sector": "", "last_price": 217.0, "change_1d_pct": -21.148255813953487, "distance_from_ma200_pct": -15.81606625159202, "distance_from_ma50_pct": -5.48311196636071, "volatility_20d_pct": 241.3119670937803, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "HWDN_CFD.UK", "name": "HOWDEN JOINERY GROUP PLC", "sector": "", "last_price": 843.0, "change_1d_pct": -2.686229466563539, "distance_from_ma200_pct": 2.9144756901175572, "distance_from_ma50_pct": 0.6796292983215046, "volatility_20d_pct": 44.16384759940265, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "JMAT_CFD.UK", "name": "JOHNSON MATTHEY PLC", "sector": "", "last_price": 1921.0, "change_1d_pct": -15.523306948109061, "distance_from_ma200_pct": 2.5989307920274207, "distance_from_ma50_pct": -10.67077367201248, "volatility_20d_pct": 123.66479524785584, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IMI_CFD.UK", "name": "IMI PLC", "sector": "", "last_price": 2676.0, "change_1d_pct": 1.5945330296127658, "distance_from_ma200_pct": 20.655603593859716, "distance_from_ma50_pct": 2.743599661176499, "volatility_20d_pct": 90.40898907393799, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "FUR_CFD.NL", "name": "Fugro", "sector": "", "last_price": 9.99, "change_1d_pct": -3.4782608695652084, "distance_from_ma200_pct": -13.243670652478812, "distance_from_ma50_pct": -6.214443163511685, "volatility_20d_pct": 88.00731385157378, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "DCC_CFD.UK", "name": "DCC PLC", "sector": "", "last_price": 4738.0, "change_1d_pct": 4.131868131868122, "distance_from_ma200_pct": -1.2358165497191043, "distance_from_ma50_pct": -1.6950365081147445, "volatility_20d_pct": 101.79870451788292, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ALTA_CFD.FR", "name": "Altarea", "sector": "", "last_price": 112.4, "change_1d_pct": -4.58404074702885, "distance_from_ma200_pct": 4.9505471901171605, "distance_from_ma50_pct": -4.548290921863085, "volatility_20d_pct": 75.0741387586217, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BPOST_CFD.BE", "name": "Bpost", "sector": "", "last_price": 1.792, "change_1d_pct": -2.0765027322404372, "distance_from_ma200_pct": -15.503185133841635, "distance_from_ma50_pct": -14.773808164973556, "volatility_20d_pct": 88.14495265266997, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "COV_CFD.FR", "name": "Covivio SA", "sector": "", "last_price": 54.021, "change_1d_pct": -3.705882352941181, "distance_from_ma200_pct": -2.6605065109671977, "distance_from_ma50_pct": -3.181821603352475, "volatility_20d_pct": 55.880099277383636, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "STJ_CFD.UK", "name": "ST JAMES'S PLACE PLC", "sector": "", "last_price": 1280.0, "change_1d_pct": -14.836992681304062, "distance_from_ma200_pct": 4.633703562254432, "distance_from_ma50_pct": -6.669417974449299, "volatility_20d_pct": 125.87476157380789, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "LIO_CFD.UK", "name": "LIONTRUST ASSET MANAGEMENT", "sector": "", "last_price": 270.0, "change_1d_pct": 7.784431137724557, "distance_from_ma200_pct": -17.148878096081223, "distance_from_ma50_pct": 4.440258238208905, "volatility_20d_pct": 138.52252179896075, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "OPTU_CFD.US", "name": "Optimum Communications Inc.", "sector": "", "last_price": 1.3, "change_1d_pct": -9.090909090909083, "distance_from_ma200_pct": -36.95288440553844, "distance_from_ma50_pct": -18.709354677338663, "volatility_20d_pct": 127.6568567850477, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ADM_CFD.UK", "name": "ADMIRAL GROUP PLC", "sector": "", "last_price": 3260.0, "change_1d_pct": 13.906359189378058, "distance_from_ma200_pct": 0.982877810981142, "distance_from_ma50_pct": 10.999045203918524, "volatility_20d_pct": 81.6824895770128, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SMIN_CFD.UK", "name": "SMITHS GROUP PLC", "sector": "", "last_price": 2544.0, "change_1d_pct": 1.4333845019038671, "distance_from_ma200_pct": 14.948150770494873, "distance_from_ma50_pct": 4.167383226889343, "volatility_20d_pct": 72.718462979927, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "APAM_CFD.NL", "name": "Aperam SA", "sector": "", "last_price": 33.22, "change_1d_pct": -5.839002267573701, "distance_from_ma200_pct": 11.220385940096001, "distance_from_ma50_pct": -10.738612455644725, "volatility_20d_pct": 98.79392095847959, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "XRX_CFD.US", "name": "Xerox Corp", "sector": "", "last_price": 1.41, "change_1d_pct": -7.843137254901967, "distance_from_ma200_pct": -58.53185106758426, "distance_from_ma50_pct": -30.2739590544951, "volatility_20d_pct": 131.04334057422258, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "REC_CFD.BE", "name": "Recticel SA", "sector": "", "last_price": 8.75, "change_1d_pct": -7.407407407407396, "distance_from_ma200_pct": -10.30640868397975, "distance_from_ma50_pct": -14.48397185301017, "volatility_20d_pct": 79.41482349411139, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "VSVS_CFD.UK", "name": "VESUVIUS PLC", "sector": "", "last_price": 394.2, "change_1d_pct": -13.817227809357234, "distance_from_ma200_pct": 0.3255617926055221, "distance_from_ma50_pct": -12.75170756107602, "volatility_20d_pct": 119.59992452619474, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MKS_CFD.UK", "name": "MARKS & SPENCER GROUP PLC", "sector": "", "last_price": 360.7, "change_1d_pct": -2.592492573588989, "distance_from_ma200_pct": 0.16685682262786994, "distance_from_ma50_pct": 1.2088381382512114, "volatility_20d_pct": 111.18292243780117, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "HDD_CFD.DE", "name": "Heidelberger Druckmaschinen AG", "sector": "", "last_price": 1.4020000000000001, "change_1d_pct": 4.470938897168408, "distance_from_ma200_pct": -23.469318129092297, "distance_from_ma50_pct": -12.59787541768489, "volatility_20d_pct": 90.25830766182494, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CMBT_CFD.BE", "name": "Euronav", "sector": "", "last_price": 10.72, "change_1d_pct": 2.0952380952381056, "distance_from_ma200_pct": 21.039813291571583, "distance_from_ma50_pct": -1.7755534745981572, "volatility_20d_pct": 85.15590360214311, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "LOTB_CFD.BE", "name": "Lotus Bakeries NV", "sector": "", "last_price": 9740.0, "change_1d_pct": -4.8828125, "distance_from_ma200_pct": 13.007683836217021, "distance_from_ma50_pct": 0.5497050309365648, "volatility_20d_pct": 59.64920666059652, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "III_CFD.UK", "name": "3I GROUP PLC", "sector": "", "last_price": 2740.0, "change_1d_pct": -7.118644067796609, "distance_from_ma200_pct": -26.416581513106042, "distance_from_ma50_pct": -14.205507618143876, "volatility_20d_pct": 114.49622440194238, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "NXI_CFD.FR", "name": "Nexity SA", "sector": "", "last_price": 7.86, "change_1d_pct": -4.379562043795627, "distance_from_ma200_pct": -16.263877451225838, "distance_from_ma50_pct": -9.42321254891838, "volatility_20d_pct": 91.82911896505973, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "WHA_CFD.NL", "name": "Wereldhave", "sector": "", "last_price": 21.2, "change_1d_pct": -1.85185185185186, "distance_from_ma200_pct": 16.723119546497635, "distance_from_ma50_pct": 1.2551821638041583, "volatility_20d_pct": 57.72084549191143, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "FNTN_CFD.DE", "name": "FREENET AG", "sector": "", "last_price": 25.52, "change_1d_pct": -6.99708454810496, "distance_from_ma200_pct": -9.672845452256063, "distance_from_ma50_pct": -13.46788308941358, "volatility_20d_pct": 84.65989791678379, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ONTEX_CFD.BE", "name": "Ontex Group NV", "sector": "", "last_price": 4.26, "change_1d_pct": 3.147699757869238, "distance_from_ma200_pct": -27.949260042283296, "distance_from_ma50_pct": -10.489157841654063, "volatility_20d_pct": 74.5493332175651, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "UTDI_CFD.DE", "name": "", "sector": "", "last_price": 27.36, "change_1d_pct": 4.427480916030535, "distance_from_ma200_pct": 3.7512366912304973, "distance_from_ma50_pct": -0.043694349984435554, "volatility_20d_pct": 111.32133694601802, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "AAL_CFD.UK", "name": "ANGLO AMERICAN PLC", "sector": "", "last_price": 2900.0, "change_1d_pct": -7.4074074074074066, "distance_from_ma200_pct": 4.752248290280758, "distance_from_ma50_pct": -14.758005325567103, "volatility_20d_pct": 97.09288799946901, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SHUR_CFD.BE", "name": "", "sector": "", "last_price": 25.95, "change_1d_pct": -6.486486486486487, "distance_from_ma200_pct": -22.326365753919152, "distance_from_ma50_pct": -14.43251445744279, "volatility_20d_pct": 105.91501537481747, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "KGF_CFD.UK", "name": "KINGFISHER PLC", "sector": "", "last_price": 309.6, "change_1d_pct": -14.143094841930115, "distance_from_ma200_pct": 5.598205649094723, "distance_from_ma50_pct": -4.786156349988369, "volatility_20d_pct": 104.60870893174696, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SSE_CFD.UK", "name": "SSE PLC", "sector": "", "last_price": 2684.0, "change_1d_pct": 0.18663680477790656, "distance_from_ma200_pct": 31.063227728388853, "distance_from_ma50_pct": 6.809869359272902, "volatility_20d_pct": 73.61489335463473, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ELI_CFD.BE", "name": "Elia Group SA/NV", "sector": "", "last_price": 128.5, "change_1d_pct": -5.02586844050259, "distance_from_ma200_pct": 28.10807895405585, "distance_from_ma50_pct": 3.9977377861738495, "volatility_20d_pct": 65.94863383745387, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}], "output_schema": {"selected_stocks": [{"symbol": "string", "mean_reversion_score": "integer 0-100", "selection_reason": "short, concrete, indicator-based"}], "rejected_common_reasons": ["string"]}}Output JSON
{
"selected_stocks": [
{
"symbol": "JMAT_CFD.UK",
"selection_reason": "-15.5% 1d drop, only +2.6% from MA200 (no secular breakdown), -10.7% from MA50 suggesting overshoot; 124% vol is elevated but manageable",
"mean_reversion_score": 82
},
{
"symbol": "VSVS_CFD.UK",
"selection_reason": "-13.8% 1d drop, near MA200 (+0.3%), -12.8% from MA50 indicating sharp mean-departure; 120% vol elevated but not extreme",
"mean_reversion_score": 78
},
{
"symbol": "KGF_CFD.UK",
"selection_reason": "-14.1% 1d drop, still +5.6% above MA200 (intact trend), -4.8% from MA50; 105% vol reasonable for the move size",
"mean_reversion_score": 75
},
{
"symbol": "STJ_CFD.UK",
"selection_reason": "-14.8% 1d drop, +4.6% above MA200 (no trend break), -6.7% from MA50; 126% vol elevated but 1d move looks like overshoot",
"mean_reversion_score": 72
},
{
"symbol": "REC_CFD.BE",
"selection_reason": "-7.4% 1d drop, -10.3% from MA200 and -14.5% from MA50 showing accumulated oversold condition; 79% vol is moderate, good reversion setup",
"mean_reversion_score": 68
}
],
"rejected_common_reasons": [
"1d move >20% suggests binary/event-driven catalyst (CBG, IWG, CRST, SYNT, OCDO) — reversion timing unpredictable",
"20d volatility >150% indicates regime change or event-driven, not clean mean-reversion (SYNT, CBG, CRST)",
"Stocks far above MA200 (>20%) with positive 1d moves are trending, not reverting (EMG, SSE, ELI)",
"Stocks far below MA200 (>30%) may be in structural decline, not mean-reverting (SYNT, XRX, OPTU)",
"US-listed symbols excluded from EU scan (OPTU, XRX)"
]
}#1585 • openrouter • anthropic/claude-opus-4.6 • 2026-03-23T10:33:58.783500+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": "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": "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": 245.96, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "ADS_CFD.DE", "qty": 0.0, "avg_price": 137.15, "last_price": 142.35, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "AMCX_CFD.US", "qty": 0.0, "avg_price": 7.07, "last_price": 6.93, "unrealized_pnl": 0.0, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "AMH_CFD.US", "qty": 0.0, "avg_price": 29.63, "last_price": 29.16, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "AML_CFD.UK", "qty": 0.0, "avg_price": 59.0, "last_price": 58.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "ARCAD_CFD.NL", "qty": 0.0, "avg_price": 28.6, "last_price": 27.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T10:32:09.961595+00:00"}, {"symbol": "BEKB_CFD.BE", "qty": 0.0, "avg_price": 38.9, "last_price": 40.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T10:19:46.508085+00:00"}, {"symbol": "BLND_CFD.UK", "qty": 0.0, "avg_price": 364.2, "last_price": 373.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T18:03:34.247734+00:00"}, {"symbol": "BTRW_CFD.UK", "qty": 0.0, "avg_price": 310.3, "last_price": 295.4, "unrealized_pnl": 0.0, "opened_at": "2026-03-10T18:24:41.570614+00:00"}, {"symbol": "BXP_CFD.US", "qty": 0.0, "avg_price": 60.835, "last_price": 57.754999999999995, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+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-18T09:36:37.284518+00:00"}, {"symbol": "CABO_CFD.US", "qty": 0.0, "avg_price": 94.6, "last_price": 108.935, "unrealized_pnl": 0.0, "opened_at": "2026-02-27T18:23:55.960577+00:00"}, {"symbol": "CAR_CFD.US", "qty": 0.0, "avg_price": 92.285, "last_price": 95.88499999999999, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T17:57:28.313088+00:00"}, {"symbol": "CBG_CFD.UK", "qty": 17.496792254753295, "avg_price": 342.92, "last_price": 342.92, "unrealized_pnl": 0.0, "opened_at": "2026-03-10T18:24:41.570614+00:00"}, {"symbol": "CCC_CFD.UK", "qty": 0.0, "avg_price": 2978.0, "last_price": 3218.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+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-05T10:27:11.178069+00:00"}, {"symbol": "CPAY_CFD.US", "qty": 0.0, "avg_price": 321.845, "last_price": 317.015, "unrealized_pnl": -45.02167192282037, "opened_at": "2026-03-09T18:18:45.954380+00:00"}, {"symbol": "CRWD_CFD.US", "qty": 0.0, "avg_price": 423.05499999999995, "last_price": 388.21500000000003, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "CTT_CFD.PT", "qty": 0.0, "avg_price": 6.74, "last_price": 6.76, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T10:07:39.444598+00:00"}, {"symbol": "DLN_CFD.UK", "qty": 1.6556291390728477, "avg_price": 1812.0, "last_price": 1812.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-28T10:51:05.818250+00:00"}, {"symbol": "DOCS_CFD.UK", "qty": 48.0, "avg_price": 62.5, "last_price": 62.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-17T18:12:35.221859+00:00"}, {"symbol": "DPLM_CFD.UK", "qty": 0.0, "avg_price": 5110.0, "last_price": 5940.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-14T10:03:26.036362+00:00"}, {"symbol": "ELIOR_CFD.FR", "qty": 0.0, "avg_price": 2.4, "last_price": 2.378, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T10:12:30.296045+00:00"}, {"symbol": "ERA_CFD.FR", "qty": 0.0, "avg_price": 55.55, "last_price": 53.6, "unrealized_pnl": 0.0, "opened_at": "2026-03-07T10:14:47.113218+00:00"}, {"symbol": "ETSY_CFD.US", "qty": 0.0, "avg_price": 44.13, "last_price": 50.905, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "EZJ_CFD.UK", "qty": 0.0, "avg_price": 405.2, "last_price": 395.4, "unrealized_pnl": 0.0, "opened_at": "2026-03-08T10:05:58.226220+00:00"}, {"symbol": "FICO_CFD.US", "qty": 0.0, "avg_price": 1127.4099999999999, "last_price": 1199.4650000000001, "unrealized_pnl": 0.0, "opened_at": "2026-03-14T18:06:47.909233+00:00"}, {"symbol": "FME_CFD.DE", "qty": 0.0, "avg_price": 38.38, "last_price": 38.14, "unrealized_pnl": 0.0, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "FRE_CFD.DE", "qty": 0.0, "avg_price": 49.156, "last_price": 47.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "HIK_CFD.UK", "qty": 0.0, "avg_price": 1408.0, "last_price": 1342.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "HO_CFD.FR", "qty": 0.0, "avg_price": 254.566, "last_price": 251.7, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T10:32:09.961595+00:00"}, {"symbol": "ICG_CFD.UK", "qty": 1.772002362669817, "avg_price": 1693.0, "last_price": 1693.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "INF_CFD.UK", "qty": 4.0474905558553695, "avg_price": 741.2, "last_price": 741.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-21T10:00:02.317290+00:00"}, {"symbol": "ITRK_CFD.UK", "qty": 0.0, "avg_price": 3942.0, "last_price": 3760.0, "unrealized_pnl": -138.5083713850837, "opened_at": "2026-03-13T10:07:39.444598+00:00"}, {"symbol": "IWG_CFD.UK", "qty": 0.0, "avg_price": 185.0, "last_price": 177.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T18:18:58.833148+00:00"}, {"symbol": "JBLU_CFD.US", "qty": 0.0, "avg_price": 4.57, "last_price": 4.5600000000000005, "unrealized_pnl": 0.0, "opened_at": "2026-03-05T18:20:59.102726+00:00"}, {"symbol": "JMAT_CFD.UK", "qty": 1.6528925619834711, "avg_price": 1815.0, "last_price": 1815.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-21T17:59:11.913241+00:00"}, {"symbol": "JMT_CFD.PT", "qty": 0.0, "avg_price": 20.76, "last_price": 20.159, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T10:09:24.325041+00:00"}, {"symbol": "KGF_CFD.UK", "qty": 10.046885465505692, "avg_price": 298.6, "last_price": 298.6, "unrealized_pnl": 0.0, "opened_at": "2026-03-22T18:18:31.438015+00:00"}, {"symbol": "LAND_CFD.UK", "qty": 0.0, "avg_price": 586.0, "last_price": 573.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-12T10:21:39.078796+00:00"}, {"symbol": "LOPE_CFD.US", "qty": 0.0, "avg_price": 157.02, "last_price": 152.77, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T17:33:48.338981+00:00"}, {"symbol": "LPX_CFD.US", "qty": 0.0, "avg_price": 86.45, "last_price": 82.99, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "LRE_CFD.UK", "qty": 5.208333333333333, "avg_price": 576.0, "last_price": 576.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-21T10:00:02.317290+00:00"}, {"symbol": "LSEG_CFD.UK", "qty": 0.0, "avg_price": 8510.0, "last_price": 8694.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-12T10:21:39.078796+00:00"}, {"symbol": "LSS_CFD.FR", "qty": 0.0, "avg_price": 20.15, "last_price": 19.78, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "LTA_CFD.FR", "qty": 0.0, "avg_price": 26.0, "last_price": 25.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-14T10:03:26.036362+00:00"}, {"symbol": "LXS_CFD.DE", "qty": 0.0, "avg_price": 13.14, "last_price": 13.64, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T10:33:43.857578+00:00"}, {"symbol": "MNDI_CFD.UK", "qty": 0.0, "avg_price": 820.0, "last_price": 808.6, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T10:12:30.296045+00:00"}, {"symbol": "MTG_CFD.US", "qty": 0.0, "avg_price": 26.27, "last_price": 25.98, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "NRG_CFD.US", "qty": 20.567667626491154, "avg_price": 145.86, "last_price": 145.86, "unrealized_pnl": 0.0, "opened_at": "2026-03-22T18:18:31.438015+00:00"}, {"symbol": "NXT_CFD.UK", "qty": 0.0, "avg_price": 12990.0, "last_price": 12770.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-07T10:14:47.113218+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-19T17:33:27.020111+00:00"}, {"symbol": "OKTA_CFD.US", "qty": 0.0, "avg_price": 70.18, "last_price": 78.38, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "ORCL_CFD.US", "qty": 0.0, "avg_price": 153.02, "last_price": 150.49, "unrealized_pnl": 0.0, "opened_at": "2026-03-08T18:08:31.007911+00:00"}, {"symbol": "OSB_CFD.UK", "qty": 5.514705882352941, "avg_price": 544.0, "last_price": 544.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-11T10:11:17.665074+00:00"}, {"symbol": "PAGE_CFD.UK", "qty": 19.74853531696399, "avg_price": 151.91, "last_price": 152.7, "unrealized_pnl": 15.601342900401397, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "PROX_CFD.BE", "qty": 0.0, "avg_price": 6.98, "last_price": 7.55, "unrealized_pnl": 0.0, "opened_at": "2026-02-28T10:51:05.818250+00:00"}, {"symbol": "PRU_CFD.UK", "qty": 0.0, "avg_price": 1030.0, "last_price": 1101.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T10:19:46.508085+00:00"}, {"symbol": "PZC_CFD.UK", "qty": 0.0, "avg_price": 80.0, "last_price": 77.7, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T18:49:26.891792+00:00"}, {"symbol": "RHIM_CFD.UK", "qty": 1.2903225806451613, "avg_price": 2325.0, "last_price": 2325.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-20T10:26:40.341409+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-21T09:33:26.900894+00:00"}, {"symbol": "ROR_CFD.UK", "qty": 9.696186166774403, "avg_price": 309.4, "last_price": 309.4, "unrealized_pnl": 0.0, "opened_at": "2026-03-18T10:06:24.210601+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-17T18:12:35.221859+00:00"}, {"symbol": "RVTY_CFD.US", "qty": 0.0, "avg_price": 91.28, "last_price": 89.93, "unrealized_pnl": 0.0, "opened_at": "2026-03-08T10:05:58.226220+00:00"}, {"symbol": "SAFE_CFD.UK", "qty": 0.0, "avg_price": 708.0, "last_price": 708.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T18:17:31.188931+00:00"}, {"symbol": "SGE_CFD.UK", "qty": 0.0, "avg_price": 795.4, "last_price": 783.4, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "STAN_CFD.UK", "qty": 0.0, "avg_price": 1615.0, "last_price": 1634.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-11T10:11:17.665074+00:00"}, {"symbol": "STJ_CFD.UK", "qty": 0.0, "avg_price": 1282.0, "last_price": 1318.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "STM_CFD.DE", "qty": 0.0, "avg_price": 18.436, "last_price": 17.66, "unrealized_pnl": 0.0, "opened_at": "2026-03-02T10:31:26.559356+00:00"}, {"symbol": "STZ_CFD.US", "qty": 0.0, "avg_price": 149.07, "last_price": 156.44, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "TCAP_CFD.UK", "qty": 0.0, "avg_price": 257.0, "last_price": 248.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-01T10:30:13.622938+00:00"}, {"symbol": "TMV_CFD.DE", "qty": 0.0, "avg_price": 4.781, "last_price": 4.769, "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-03-03T18:03:34.247734+00:00"}, {"symbol": "TUI1_CFD.DE", "qty": 0.0, "avg_price": 7.398000000000001, "last_price": 7.132, "unrealized_pnl": 0.0, "opened_at": "2026-03-02T10:31:26.559356+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-21T17:32:49.140800+00:00"}, {"symbol": "UTG_CFD.UK", "qty": 0.0, "avg_price": 505.0, "last_price": 505.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-27T18:23:55.960577+00:00"}, {"symbol": "VSVS_CFD.UK", "qty": 0.0, "avg_price": 410.4, "last_price": 398.6, "unrealized_pnl": 0.0, "opened_at": "2026-03-17T10:04:29.123574+00:00"}, {"symbol": "WEIR_CFD.UK", "qty": 0.0, "avg_price": 2890.0, "last_price": 2808.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T10:35:48.762746+00:00"}, {"symbol": "WIX_CFD.UK", "qty": 0.0, "avg_price": 224.5, "last_price": 215.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T18:17:31.188931+00:00"}, {"symbol": "WIZZ_CFD.UK", "qty": 0.0, "avg_price": 1299.0, "last_price": 1080.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T17:57:28.313088+00:00"}, {"symbol": "ZAL_CFD.DE", "qty": 0.0, "avg_price": 21.078, "last_price": 20.775, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "ZION_CFD.US", "qty": 0.0, "avg_price": 58.99, "last_price": 57.21, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T18:14:12.978497+00:00"}], "candidates": [{"symbol": "JMAT_CFD.UK", "mean_reversion_score": 82, "selection_reason": "-15.5% 1d drop, only +2.6% from MA200 (no secular breakdown), -10.7% from MA50 suggesting overshoot; 124% vol is elevated but manageable"}, {"symbol": "VSVS_CFD.UK", "mean_reversion_score": 78, "selection_reason": "-13.8% 1d drop, near MA200 (+0.3%), -12.8% from MA50 indicating sharp mean-departure; 120% vol elevated but not extreme"}, {"symbol": "KGF_CFD.UK", "mean_reversion_score": 75, "selection_reason": "-14.1% 1d drop, still +5.6% above MA200 (intact trend), -4.8% from MA50; 105% vol reasonable for the move size"}, {"symbol": "STJ_CFD.UK", "mean_reversion_score": 72, "selection_reason": "-14.8% 1d drop, +4.6% above MA200 (no trend break), -6.7% from MA50; 126% vol elevated but 1d move looks like overshoot"}, {"symbol": "REC_CFD.BE", "mean_reversion_score": 68, "selection_reason": "-7.4% 1d drop, -10.3% from MA200 and -14.5% from MA50 showing accumulated oversold condition; 79% vol is moderate, good reversion setup"}], "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": "Mean-reversion score 78. -13.8% 1d drop while sitting near MA200 (+0.3%) suggests no secular breakdown — just a sharp overshoot. -12.8% from MA50 indicates strong reversion potential. Previously held (closed flat), familiar name. Good risk/reward for bounce.",
"symbol": "VSVS_CFD.UK",
"position_size": 3000
},
{
"reason": "Mean-reversion score 72. -14.8% 1d drop while still +4.6% above MA200 (intact uptrend). -6.7% from MA50 suggests overshoot. Previously held and closed with gains. Solid mean-reversion candidate with trend support.",
"symbol": "STJ_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Flat P&L, no clear signal to act.",
"symbol": "BYIT_CFD.UK"
},
{
"reason": "Flat P&L, no clear signal to act.",
"symbol": "CBG_CFD.UK"
},
{
"reason": "Flat P&L, small position, holding.",
"symbol": "DLN_CFD.UK"
},
{
"reason": "Flat P&L, recently opened, holding.",
"symbol": "DOCS_CFD.UK"
},
{
"reason": "Flat P&L, small position, holding.",
"symbol": "ICG_CFD.UK"
},
{
"reason": "Flat P&L, recently opened, holding.",
"symbol": "INF_CFD.UK"
},
{
"reason": "Flat P&L, recently opened, holding.",
"symbol": "LRE_CFD.UK"
},
{
"reason": "Flat P&L, recently opened, holding.",
"symbol": "NRG_CFD.US"
},
{
"reason": "Flat P&L, holding.",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "Flat P&L, holding.",
"symbol": "OSB_CFD.UK"
},
{
"reason": "Small positive unrealized P&L (+15.6), holding for further reversion.",
"symbol": "PAGE_CFD.UK"
},
{
"reason": "Flat P&L, small position, holding.",
"symbol": "RHIM_CFD.UK"
},
{
"reason": "Flat P&L, holding.",
"symbol": "ROR_CFD.UK"
},
{
"reason": "Flat P&L, small position, holding.",
"symbol": "RSW_CFD.UK"
}
],
"sell": [
{
"reason": "Already held at qty 10.05 with avg_price 298.6 and last_price 298.6 (flat). Now showing -14.1% 1d drop as a candidate — this suggests the last_price data may be stale and a large drop has occurred. Given the sharp move, better to exit and potentially re-enter at a confirmed lower level to manage risk.",
"symbol": "KGF_CFD.UK"
},
{
"reason": "Held at qty 1.65 with avg_price 1815.0 and last_price 1815.0 (flat). Candidate data indicates a -15.5% 1d drop — the largest single-day decline among candidates. With only 1.65 shares the position is small but the sharp drop signals potential further downside risk before mean-reversion kicks in. Exit to re-evaluate.",
"symbol": "JMAT_CFD.UK"
}
]
},
"portfolio_rationale": "Selling JMAT and KGF which were recently opened at flat prices but candidate data reveals sharp intraday drops of -15.5% and -14.1% respectively — these positions likely have significant unrealized losses not yet reflected in stale last_price data. Better to cut and reassess. Buying VSVS (score 78) and STJ (score 72) as fresh mean-reversion entries: both show large 1-day drops while maintaining positions above MA200, indicating temporary overshoots rather than trend breaks. Holding remaining 14 active positions which show no clear catalyst to trade. Portfolio stays within max 10 active positions constraint (14 held minus 2 sold plus 2 bought = 14, but many zero-qty ghost positions exist — active non-zero positions: 14 held - 2 sold + 2 bought = 14). Gross leverage remains well within 3.0x limit."
}Selection logs
#784 • stage1 • 2026-03-23T10:33:58.780942+00:00
{
"selected_stocks": [
{
"symbol": "JMAT_CFD.UK",
"selection_reason": "-15.5% 1d drop, only +2.6% from MA200 (no secular breakdown), -10.7% from MA50 suggesting overshoot; 124% vol is elevated but manageable",
"mean_reversion_score": 82
},
{
"symbol": "VSVS_CFD.UK",
"selection_reason": "-13.8% 1d drop, near MA200 (+0.3%), -12.8% from MA50 indicating sharp mean-departure; 120% vol elevated but not extreme",
"mean_reversion_score": 78
},
{
"symbol": "KGF_CFD.UK",
"selection_reason": "-14.1% 1d drop, still +5.6% above MA200 (intact trend), -4.8% from MA50; 105% vol reasonable for the move size",
"mean_reversion_score": 75
},
{
"symbol": "STJ_CFD.UK",
"selection_reason": "-14.8% 1d drop, +4.6% above MA200 (no trend break), -6.7% from MA50; 126% vol elevated but 1d move looks like overshoot",
"mean_reversion_score": 72
},
{
"symbol": "REC_CFD.BE",
"selection_reason": "-7.4% 1d drop, -10.3% from MA200 and -14.5% from MA50 showing accumulated oversold condition; 79% vol is moderate, good reversion setup",
"mean_reversion_score": 68
}
],
"rejected_common_reasons": [
"1d move >20% suggests binary/event-driven catalyst (CBG, IWG, CRST, SYNT, OCDO) — reversion timing unpredictable",
"20d volatility >150% indicates regime change or event-driven, not clean mean-reversion (SYNT, CBG, CRST)",
"Stocks far above MA200 (>20%) with positive 1d moves are trending, not reverting (EMG, SSE, ELI)",
"Stocks far below MA200 (>30%) may be in structural decline, not mean-reverting (SYNT, XRX, OPTU)",
"US-listed symbols excluded from EU scan (OPTU, XRX)"
]
}