Arena run #1145
meanrev-v1 • anthropic • anthropic/claude-opus-4.6 • EU • success
Run status
as_of: 2026-04-09T10:04:16.483403+00:00
started_at: 2026-04-09T12:42:45.825114+00:00
finished_at: 2026-04-09T12:43:24.901759+00:00
duration_ms: 39075
Inputs
{
"as_of": "2026-04-09T10:04:16.483403+00:00",
"dry_run": false,
"selected": [
{
"symbol": "ICG_CFD.UK",
"selection_reason": "1d drop -15.2% with moderate MA200 deviation (-16.2%), MA50 deviation (-12.3%), and lowest volatility among large drops (73.1% 20d vol). Oversold bounce candidate within 2-10 day horizon.",
"mean_reversion_score": 78
},
{
"symbol": "VCT_CFD.UK",
"selection_reason": "1d drop -9.3%, MA200 deviation -11.3%, MA50 deviation only -2.9% suggesting price near short-term support. Moderate volatility (130%) makes reversion tradeable without extreme risk.",
"mean_reversion_score": 72
},
{
"symbol": "ESNT_CFD.UK",
"selection_reason": "1d drop -10.6%, MA200 deviation -10.7%, MA50 deviation -8.5%. Moderate and consistent oversold signals across timeframes. Volatility (126%) manageable for mean-reversion entry.",
"mean_reversion_score": 70
},
{
"symbol": "BOY_CFD.UK",
"selection_reason": "1d spike +24.2% with MA200 deviation +28.7% and MA50 deviation +18.6%. Sharply overbought on all timeframes — short candidate for mean reversion pullback. Volatility (103%) supports fade trade.",
"mean_reversion_score": 68
},
{
"symbol": "MGNS_CFD.UK",
"selection_reason": "1d spike +19.6% with MA200 deviation +32.0% and MA50 deviation +15.6%. Extended above both moving averages after sharp rally. Volatility (90%) is relatively contained — short fade candidate.",
"mean_reversion_score": 65
}
],
"simulate_only": false,
"strict_replay": false,
"universe_symbols": [
"HAS_CFD.UK",
"MDM_CFD.FR",
"MGNS_CFD.UK",
"GEN_CFD.UK",
"BOY_CFD.UK",
"CRST_CFD.UK",
"PAGE_CFD.UK",
"FGP_CFD.UK",
"ICG_CFD.UK",
"SHC_CFD.UK",
"PAG_CFD.UK",
"CBG_CFD.UK",
"VCT_CFD.UK",
"DLN_CFD.UK",
"DOM_CFD.UK",
"ONTEX_CFD.BE",
"DHER_CFD.DE",
"IEP_CFD.BE",
"BIG_CFD.FR",
"OCDO_CFD.UK",
"ESNT_CFD.UK",
"CMCX_CFD.UK",
"MC_CFD.FR",
"GROW_CFD.UK",
"CDI_CFD.FR",
"AIXA_CFD.DE",
"SPX_CFD.UK",
"VIRI_CFD.FR",
"WKP_CFD.UK",
"CAP_CFD.FR",
"BYW6_CFD.DE",
"ZIL2_CFD.DE",
"SMIN_CFD.UK",
"BPOST_CFD.BE",
"DOCS_CFD.UK",
"VXXB_CFD.ETF",
"CRDA_CFD.UK",
"DEZ_CFD.DE",
"HUBS_CFD.US",
"ATG_CFD.UK",
"BOSS_CFD.DE",
"CLARI_CFD.FR",
"COTY_CFD.US",
"VTY_CFD.UK",
"MDV_CFD.PL",
"HMSO_CFD.UK",
"SGL_CFD.DE",
"WDAY_CFD.US",
"OR_CFD.FR",
"BRBY_CFD.UK"
]
}Outputs
{
"actions": {
"buy": [
{
"reason": "Mean-reversion score 72. 1d drop -9.3%, MA200 deviation -11.3%, near short-term MA50 support (-2.9% deviation). Moderate volatility (130%) supports a bounce trade within 2-10 day horizon.",
"symbol": "VCT_CFD.UK",
"position_size": 3000
},
{
"reason": "Mean-reversion score 70. Consistent oversold signals: 1d drop -10.6%, MA200 deviation -10.7%, MA50 deviation -8.5%. Manageable volatility (126%) for a mean-reversion long entry.",
"symbol": "ESNT_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Position at breakeven, no clear signal to exit. Hold for mean-reversion opportunity to develop.",
"symbol": "ABDN_CFD.UK"
},
{
"reason": "Position at breakeven, no strong directional signal. Hold.",
"symbol": "CBG_CFD.UK"
},
{
"reason": "Already long from 1496. Candidate screen shows -15.2% 1d drop with score 78 — this reinforces holding/adding but we already have a position. Hold and let mean reversion play out.",
"symbol": "ICG_CFD.UK"
},
{
"reason": "Position at breakeven, no catalyst to exit. Hold.",
"symbol": "IWG_CFD.UK"
},
{
"reason": "Underwater by -£72.6 (-2.4%). Still within normal mean-reversion holding window. Hold for recovery.",
"symbol": "LTA_CFD.FR"
},
{
"reason": "Position at breakeven. No signal to exit. Hold.",
"symbol": "PAG_CFD.UK"
},
{
"reason": "Position at breakeven. Small position, no exit signal. Hold.",
"symbol": "RHIM_CFD.UK"
},
{
"reason": "Small positive PnL (+£19.5). Price near entry. Hold.",
"symbol": "UTG_CFD.UK"
}
],
"sell": [
{
"reason": "Position has appreciated significantly (+8.9% unrealized gain, £267 PnL). Price moved from 309.4 to 337.0, well above entry — taking profit as mean-reversion strategy suggests fading extended moves.",
"symbol": "ROR_CFD.UK"
},
{
"reason": "Candidate flagged as overbought with +24.2% 1d spike, MA200 deviation +28.7%, MA50 deviation +18.6%. Sharply extended above averages — close long to lock in gains and avoid pullback risk.",
"symbol": "BOY_CFD.UK"
}
]
},
"portfolio_rationale": "Selling BOY (overbought, +24% spike flagged by screener) and ROR (strong profit, +8.9% gain) to lock in profits on extended positions. Buying VCT and ESNT as fresh mean-reversion longs with consistent oversold signals across multiple timeframes. Holding existing positions that are near breakeven or developing — no reason to churn. ICG already held and its -15% drop reinforces the hold thesis. After trades, portfolio will have ~8 active positions well within the 10-position limit and gross leverage constraints."
}Prompts & responses
#2213 • openrouter • anthropic/claude-opus-4.6 • 2026-04-09T12:42:45.872638+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": "HAS_CFD.UK", "name": "HAYS PLC", "sector": "", "last_price": 47.66, "change_1d_pct": -17.213826645822483, "distance_from_ma200_pct": -26.546854506980832, "distance_from_ma50_pct": -12.888674431016456, "volatility_20d_pct": 117.95597135078918, "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": "MDM_CFD.FR", "name": "Maisons Du Monde", "sector": "", "last_price": 0.881, "change_1d_pct": -23.788927335640132, "distance_from_ma200_pct": -52.221224948004654, "distance_from_ma50_pct": -33.44312824851928, "volatility_20d_pct": 18104.93330731392, "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": "MGNS_CFD.UK", "name": "MORGAN SINDALL GROUP PLC", "sector": "", "last_price": 5370.0, "change_1d_pct": 19.599109131403125, "distance_from_ma200_pct": 32.00382943846654, "distance_from_ma50_pct": 15.63012691493826, "volatility_20d_pct": 90.38530398603771, "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": "GEN_CFD.UK", "name": "GENUIT GROUP PLC", "sector": "", "last_price": 370.0, "change_1d_pct": 13.671274961597547, "distance_from_ma200_pct": 1.1384913963945476, "distance_from_ma50_pct": 7.521632190000593, "volatility_20d_pct": 112.82453945409682, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BOY_CFD.UK", "name": "BODYCOTE PLC", "sector": "", "last_price": 775.4, "change_1d_pct": 24.163330664531625, "distance_from_ma200_pct": 28.652243313347768, "distance_from_ma50_pct": 18.63612217470385, "volatility_20d_pct": 103.46484337510964, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CRST_CFD.UK", "name": "CREST NICHOLSON HOLDINGS", "sector": "", "last_price": 118.83, "change_1d_pct": -12.817314746881891, "distance_from_ma200_pct": -28.150055914529826, "distance_from_ma50_pct": -15.848139991077058, "volatility_20d_pct": 236.5351415372937, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "PAGE_CFD.UK", "name": "PAGEGROUP PLC", "sector": "", "last_price": 152.7, "change_1d_pct": -36.79635761589404, "distance_from_ma200_pct": -40.61156091058385, "distance_from_ma50_pct": -31.72721647345812, "volatility_20d_pct": 193.22753953431183, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "FGP_CFD.UK", "name": "FIRSTGROUP PLC", "sector": "", "last_price": 193.2, "change_1d_pct": 1.3109596224436304, "distance_from_ma200_pct": -4.044842646206826, "distance_from_ma50_pct": 1.7250076083144883, "volatility_20d_pct": 88.3516119820011, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ICG_CFD.UK", "name": "ICG Plc", "sector": "", "last_price": 1693.0, "change_1d_pct": -15.18545979199647, "distance_from_ma200_pct": -16.18296530905513, "distance_from_ma50_pct": -12.256151916578562, "volatility_20d_pct": 73.10253575454833, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SHC_CFD.UK", "name": "SHAFTESBURY CAPITAL PLC", "sector": "", "last_price": 140.4, "change_1d_pct": -2.9045643153526868, "distance_from_ma200_pct": 0.26963533347688085, "distance_from_ma50_pct": -0.771073778544229, "volatility_20d_pct": 63.75522821252001, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "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": "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": "VCT_CFD.UK", "name": "VICTREX PLC", "sector": "", "last_price": 635.0, "change_1d_pct": -9.285714285714286, "distance_from_ma200_pct": -11.261564295119154, "distance_from_ma50_pct": -2.9181133396627645, "volatility_20d_pct": 130.4010909373053, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "DLN_CFD.UK", "name": "DERWENT LONDON PLC", "sector": "", "last_price": 1953.0, "change_1d_pct": 10.401356698699837, "distance_from_ma200_pct": 5.069478604951705, "distance_from_ma50_pct": 12.150447212111025, "volatility_20d_pct": 115.39088732649292, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "DOM_CFD.UK", "name": "DOMINO'S PIZZA GROUP PLC", "sector": "", "last_price": 183.13, "change_1d_pct": -0.3102885138813294, "distance_from_ma200_pct": -15.070952368916624, "distance_from_ma50_pct": 1.0777282376278619, "volatility_20d_pct": 87.92203351330001, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ONTEX_CFD.BE", "name": "Ontex Group NV", "sector": "", "last_price": 3.095, "change_1d_pct": -8.970588235294109, "distance_from_ma200_pct": -45.776050709466496, "distance_from_ma50_pct": -29.82368626312829, "volatility_20d_pct": 108.69637170664194, "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": "DHER_CFD.DE", "name": "DELIVERY HERO SE", "sector": "", "last_price": 16.289, "change_1d_pct": 0.10447394296952961, "distance_from_ma200_pct": -26.599410956780655, "distance_from_ma50_pct": -15.23633290593308, "volatility_20d_pct": 143.60854945931146, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IEP_CFD.BE", "name": "IEP Invest NV", "sector": "", "last_price": 5.4, "change_1d_pct": 0.0, "distance_from_ma200_pct": 0.9951765451794659, "distance_from_ma50_pct": 0.5657756042326989, "volatility_20d_pct": 138.39532879660115, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BIG_CFD.FR", "name": "Bigben Interactive", "sector": "", "last_price": 0.29, "change_1d_pct": 7.011070110701101, "distance_from_ma200_pct": -71.8461635543733, "distance_from_ma50_pct": -47.19976695069551, "volatility_20d_pct": 208.2394066644476, "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": 191.8, "change_1d_pct": -27.731725697061027, "distance_from_ma200_pct": -25.425914067168765, "distance_from_ma50_pct": -16.54505218327368, "volatility_20d_pct": 249.00720326714767, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ESNT_CFD.UK", "name": "ESSENTRA PLC", "sector": "", "last_price": 90.1, "change_1d_pct": -10.61507936507937, "distance_from_ma200_pct": -10.657490467074904, "distance_from_ma50_pct": -8.545188421272742, "volatility_20d_pct": 126.22890829663649, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CMCX_CFD.UK", "name": "CMC MARKETS PLC", "sector": "", "last_price": 336.5, "change_1d_pct": 6.487341772151889, "distance_from_ma200_pct": 33.727269096422944, "distance_from_ma50_pct": 13.399699398122245, "volatility_20d_pct": 207.2492443353413, "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": "MC_CFD.FR", "name": "LVMH Moet Hennessy Louis Vuitton", "sector": "", "last_price": 499.65, "change_1d_pct": 6.89987163029524, "distance_from_ma200_pct": -8.075237598557983, "distance_from_ma50_pct": -1.441139046521478, "volatility_20d_pct": 62.212159342265885, "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": "CDI_CFD.FR", "name": "Christian Dior SE", "sector": "", "last_price": 456.8, "change_1d_pct": 2.8828828828828756, "distance_from_ma200_pct": -10.829294200979934, "distance_from_ma50_pct": -5.120025037678855, "volatility_20d_pct": 63.182632135450476, "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": "AIXA_CFD.DE", "name": "Aixtron AG NA", "sector": "", "last_price": 36.38, "change_1d_pct": 12.280485170210786, "distance_from_ma200_pct": 94.25293248242221, "distance_from_ma50_pct": 30.37333073398969, "volatility_20d_pct": 121.0421912167388, "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": 6862.0, "change_1d_pct": -0.3340595497458243, "distance_from_ma200_pct": 4.60751035733642, "distance_from_ma50_pct": -2.1558703469177654, "volatility_20d_pct": 123.56004816253518, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "VIRI_CFD.FR", "name": "VIRIDIEN", "sector": "", "last_price": 127.1, "change_1d_pct": 32.258064516129025, "distance_from_ma200_pct": 86.88026988392838, "distance_from_ma50_pct": 29.097132641971314, "volatility_20d_pct": 297.97668648307325, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "WKP_CFD.UK", "name": "WORKSPACE GROUP PLC", "sector": "", "last_price": 423.0, "change_1d_pct": 3.6764705882353033, "distance_from_ma200_pct": 1.8640028868691871, "distance_from_ma50_pct": 5.808194506978848, "volatility_20d_pct": 70.2233148398582, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CAP_CFD.FR", "name": "Capgemini", "sector": "", "last_price": 100.8, "change_1d_pct": -0.4444444444444473, "distance_from_ma200_pct": -20.008491162148466, "distance_from_ma50_pct": -5.819812372137334, "volatility_20d_pct": 63.88001546108049, "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": "BYW6_CFD.DE", "name": "BayWa AG vNa", "sector": "", "last_price": 2.701, "change_1d_pct": 1.9245283018868076, "distance_from_ma200_pct": -53.425855116646595, "distance_from_ma50_pct": -9.078056202620266, "volatility_20d_pct": 156.3034682583357, "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": 5.47, "change_1d_pct": -0.30982321851650285, "distance_from_ma200_pct": 25.153725153725137, "distance_from_ma50_pct": 21.93925775328589, "volatility_20d_pct": 5416.880074540502, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SMIN_CFD.UK", "name": "SMITHS GROUP PLC", "sector": "", "last_price": 2410.0, "change_1d_pct": -2.900886381950041, "distance_from_ma200_pct": 8.724723729236384, "distance_from_ma50_pct": -1.2150629239554345, "volatility_20d_pct": 88.62035790812207, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BPOST_CFD.BE", "name": "Bpost", "sector": "", "last_price": 2.245, "change_1d_pct": 0.0, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 7.002592846793276, "volatility_20d_pct": 2622.8624681176075, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "DOCS_CFD.UK", "name": "DR. MARTENS PLC", "sector": "", "last_price": 64.5, "change_1d_pct": -3.5153328347045543, "distance_from_ma200_pct": -14.829841246785492, "distance_from_ma50_pct": -11.320702834987761, "volatility_20d_pct": 128.30568371469687, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "VXXB_CFD.ETF", "name": "IPATH SERIES B S&P 500 VIX", "sector": "", "last_price": 32.36, "change_1d_pct": -9.024458813606973, "distance_from_ma200_pct": -6.246921735301103, "distance_from_ma50_pct": 3.784477228992933, "volatility_20d_pct": 180.71815564662478, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CRDA_CFD.UK", "name": "CRODA INTERNATIONAL PLC", "sector": "", "last_price": 2839.0, "change_1d_pct": -0.28099754127151044, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -0.572261096752058, "volatility_20d_pct": 5232.645582727379, "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": "DEZ_CFD.DE", "name": "Deutz AG", "sector": "", "last_price": 9.345, "change_1d_pct": 7.0079010649261475, "distance_from_ma200_pct": 2.2851901552283227, "distance_from_ma50_pct": -11.038465273110464, "volatility_20d_pct": 124.59838290952874, "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": "HUBS_CFD.US", "name": "HubSpot Inc", "sector": "", "last_price": 221.6, "change_1d_pct": -9.606363450948407, "distance_from_ma200_pct": -44.79525916832166, "distance_from_ma50_pct": -12.659211694206352, "volatility_20d_pct": 129.34490404762084, "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": 313.0, "change_1d_pct": 0.3205128205128194, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 0.8343803356850588, "volatility_20d_pct": 2871.9337920464413, "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": "BOSS_CFD.DE", "name": "Hugo Boss AG", "sector": "", "last_price": 36.365, "change_1d_pct": 0.9858372674257154, "distance_from_ma200_pct": -5.824458759322382, "distance_from_ma50_pct": 0.09126980631866122, "volatility_20d_pct": 44.082244703993894, "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": "CLARI_CFD.FR", "name": "Clariane SE", "sector": "", "last_price": 3.874, "change_1d_pct": -2.4181360201511404, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 0.9358846089711603, "volatility_20d_pct": 3109.006288666479, "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": "COTY_CFD.US", "name": "Coty Inc", "sector": "", "last_price": 2.65, "change_1d_pct": -0.7490636704119868, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -12.425644415069403, "volatility_20d_pct": 7661.46272234243, "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": "VTY_CFD.UK", "name": "VISTRY GROUP PLC", "sector": "", "last_price": 336.5, "change_1d_pct": -52.24240703945502, "distance_from_ma200_pct": -45.76092188057602, "distance_from_ma50_pct": -43.644091924608695, "volatility_20d_pct": 220.52645545975528, "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": "MDV_CFD.PL", "name": "Modivo S.A.", "sector": "", "last_price": 86.3, "change_1d_pct": -5.621172353455817, "distance_from_ma200_pct": -41.47482094889456, "distance_from_ma50_pct": -17.96468774299278, "volatility_20d_pct": 81.26543963924402, "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": "SGL_CFD.DE", "name": "SGL Carbon SE", "sector": "", "last_price": 3.545, "change_1d_pct": 5.663189269746649, "distance_from_ma200_pct": 3.398741422935836, "distance_from_ma50_pct": -9.100699501528242, "volatility_20d_pct": 92.29220096966039, "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": "WDAY_CFD.US", "name": "", "sector": "", "last_price": 121.19, "change_1d_pct": -7.3612597462161755, "distance_from_ma200_pct": -41.004888430649224, "distance_from_ma50_pct": -15.258385357230765, "volatility_20d_pct": 85.7260973003909, "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": "OR_CFD.FR", "name": "", "sector": "", "last_price": 358.961, "change_1d_pct": 0.8742447660531116, "distance_from_ma200_pct": -4.312852384046395, "distance_from_ma50_pct": -3.76420945799798, "volatility_20d_pct": 47.03890159793636, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BRBY_CFD.UK", "name": "BURBERRY GROUP PLC", "sector": "", "last_price": 1090.0, "change_1d_pct": 1.5370284117373068, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -10.223781637880636, "volatility_20d_pct": 3625.500236594713, "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": "ICG_CFD.UK",
"selection_reason": "1d drop -15.2% with moderate MA200 deviation (-16.2%), MA50 deviation (-12.3%), and lowest volatility among large drops (73.1% 20d vol). Oversold bounce candidate within 2-10 day horizon.",
"mean_reversion_score": 78
},
{
"symbol": "VCT_CFD.UK",
"selection_reason": "1d drop -9.3%, MA200 deviation -11.3%, MA50 deviation only -2.9% suggesting price near short-term support. Moderate volatility (130%) makes reversion tradeable without extreme risk.",
"mean_reversion_score": 72
},
{
"symbol": "ESNT_CFD.UK",
"selection_reason": "1d drop -10.6%, MA200 deviation -10.7%, MA50 deviation -8.5%. Moderate and consistent oversold signals across timeframes. Volatility (126%) manageable for mean-reversion entry.",
"mean_reversion_score": 70
},
{
"symbol": "BOY_CFD.UK",
"selection_reason": "1d spike +24.2% with MA200 deviation +28.7% and MA50 deviation +18.6%. Sharply overbought on all timeframes — short candidate for mean reversion pullback. Volatility (103%) supports fade trade.",
"mean_reversion_score": 68
},
{
"symbol": "MGNS_CFD.UK",
"selection_reason": "1d spike +19.6% with MA200 deviation +32.0% and MA50 deviation +15.6%. Extended above both moving averages after sharp rally. Volatility (90%) is relatively contained — short fade candidate.",
"mean_reversion_score": 65
}
],
"rejected_common_reasons": [
"Extreme volatility (>200% 20d) makes mean-reversion unreliable and position sizing dangerous (PAGE, OCADO, VTY, CRST, BIG, VIRI)",
"Absurdly high volatility (>1000% 20d) signals data quality issues or illiquidity — untradeable (MDM, ZIL2, BPOST, CRDA, ATG, CLARI, COTY, BRBY)",
"Massive 1d drop >25% likely event/binary driven (VTY -52%, PAGE -37%, CBG -27%, OCDO -28%) — avoid event-driven moves",
"Distance from MA200 >50% suggests structural breakdown not mean-reversion (MDM, BIG, ONTEX, BYW6)",
"US-listed symbols (HUBS, WDAY, COTY) excluded from EU-focused scan",
"VXXB is a VIX ETF product — not an equity, excluded",
"Stocks near MA50 and MA200 with minimal 1d move offer insufficient mean-reversion setup (FGP, SHC, PAG, BOSS, DOM, OR)"
]
}#2214 • openrouter • anthropic/claude-opus-4.6 • 2026-04-09T12:43:05.149352+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": "ABDN_CFD.UK", "qty": 15.756302521008402, "avg_price": 190.4, "last_price": 190.4, "unrealized_pnl": 0.0, "opened_at": "2026-04-04T10:04:54.381536+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": "BOY_CFD.UK", "qty": 4.73186119873817, "avg_price": 634.0, "last_price": 634.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-31T17:54:15.044829+00:00"}, {"symbol": "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": 0.0, "avg_price": 292.6, "last_price": 289.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": 0.0, "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": 0.0, "avg_price": 62.5, "last_price": 64.4, "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": "EEFT_CFD.US", "qty": 0.0, "avg_price": 63.91, "last_price": 66.13499999999999, "unrealized_pnl": 0.0, "opened_at": "2026-04-04T18:08:49.555685+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": "FUTR_CFD.UK", "qty": 0.0, "avg_price": 284.2, "last_price": 297.6, "unrealized_pnl": 141.44968332160488, "opened_at": "2026-03-31T17:54:15.044829+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": 6.016042780748663, "avg_price": 1496.0, "last_price": 1496.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "INF_CFD.UK", "qty": 0.0, "avg_price": 741.2, "last_price": 766.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": 17.421602787456447, "avg_price": 172.2, "last_price": 172.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T18:18:58.833148+00:00"}, {"symbol": "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": 0.0, "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": 0.0, "avg_price": 285.0, "last_price": 301.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": 0.0, "avg_price": 576.0, "last_price": 593.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": 123.51778656126483, "avg_price": 24.288, "last_price": 23.7, "unrealized_pnl": -72.62845849802383, "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": "MKS_CFD.UK", "qty": 0.0, "avg_price": 346.1, "last_price": 330.4, "unrealized_pnl": 0.0, "opened_at": "2026-03-24T10:08:31.727705+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": "MNG_CFD.UK", "qty": 0.0, "avg_price": 263.0, "last_price": 278.8, "unrealized_pnl": 0.0, "opened_at": "2026-03-23T18:04:09.108429+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": 0.0, "avg_price": 145.86, "last_price": 152.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-22T18:18:31.438015+00:00"}, {"symbol": "NXT_CFD.UK", "qty": 0.0, "avg_price": 12327.27, "last_price": 12695.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-07T10:14:47.113218+00:00"}, {"symbol": "OCDO_CFD.UK", "qty": 0.0, "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": 0.0, "avg_price": 515.0, "last_price": 513.55, "unrealized_pnl": -8.446601941747838, "opened_at": "2026-03-11T10:11:17.665074+00:00"}, {"symbol": "PAGE_CFD.UK", "qty": 0.0, "avg_price": 132.9, "last_price": 132.9, "unrealized_pnl": 0.0, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "PAG_CFD.UK", "qty": 3.9190071848465053, "avg_price": 765.5, "last_price": 765.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-26T17:55:26.602359+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": 73.1, "last_price": 78.8, "unrealized_pnl": 233.9261285909714, "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": 337.0, "unrealized_pnl": 267.61473820297374, "opened_at": "2026-03-18T10:06:24.210601+00:00"}, {"symbol": "RSW_CFD.UK", "qty": 0.0, "avg_price": 3790.0000000000005, "last_price": 3790.0, "unrealized_pnl": 0.0, "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": 1220.0, "last_price": 1202.0, "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": "UAL_CFD.US", "qty": 0.0, "avg_price": 91.79, "last_price": 92.6, "unrealized_pnl": 0.0, "opened_at": "2026-03-26T17:55:26.602359+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": 6.504770164787511, "avg_price": 461.2, "last_price": 464.2, "unrealized_pnl": 19.514310494362533, "opened_at": "2026-02-27T18:23:55.960577+00:00"}, {"symbol": "VSVS_CFD.UK", "qty": 0.0, "avg_price": 394.2, "last_price": 404.25, "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": "ICG_CFD.UK", "mean_reversion_score": 78, "selection_reason": "1d drop -15.2% with moderate MA200 deviation (-16.2%), MA50 deviation (-12.3%), and lowest volatility among large drops (73.1% 20d vol). Oversold bounce candidate within 2-10 day horizon."}, {"symbol": "VCT_CFD.UK", "mean_reversion_score": 72, "selection_reason": "1d drop -9.3%, MA200 deviation -11.3%, MA50 deviation only -2.9% suggesting price near short-term support. Moderate volatility (130%) makes reversion tradeable without extreme risk."}, {"symbol": "ESNT_CFD.UK", "mean_reversion_score": 70, "selection_reason": "1d drop -10.6%, MA200 deviation -10.7%, MA50 deviation -8.5%. Moderate and consistent oversold signals across timeframes. Volatility (126%) manageable for mean-reversion entry."}, {"symbol": "BOY_CFD.UK", "mean_reversion_score": 68, "selection_reason": "1d spike +24.2% with MA200 deviation +28.7% and MA50 deviation +18.6%. Sharply overbought on all timeframes — short candidate for mean reversion pullback. Volatility (103%) supports fade trade."}, {"symbol": "MGNS_CFD.UK", "mean_reversion_score": 65, "selection_reason": "1d spike +19.6% with MA200 deviation +32.0% and MA50 deviation +15.6%. Extended above both moving averages after sharp rally. Volatility (90%) is relatively contained — short fade candidate."}], "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 72. 1d drop -9.3%, MA200 deviation -11.3%, near short-term MA50 support (-2.9% deviation). Moderate volatility (130%) supports a bounce trade within 2-10 day horizon.",
"symbol": "VCT_CFD.UK",
"position_size": 3000
},
{
"reason": "Mean-reversion score 70. Consistent oversold signals: 1d drop -10.6%, MA200 deviation -10.7%, MA50 deviation -8.5%. Manageable volatility (126%) for a mean-reversion long entry.",
"symbol": "ESNT_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Position at breakeven, no clear signal to exit. Hold for mean-reversion opportunity to develop.",
"symbol": "ABDN_CFD.UK"
},
{
"reason": "Position at breakeven, no strong directional signal. Hold.",
"symbol": "CBG_CFD.UK"
},
{
"reason": "Already long from 1496. Candidate screen shows -15.2% 1d drop with score 78 — this reinforces holding/adding but we already have a position. Hold and let mean reversion play out.",
"symbol": "ICG_CFD.UK"
},
{
"reason": "Position at breakeven, no catalyst to exit. Hold.",
"symbol": "IWG_CFD.UK"
},
{
"reason": "Underwater by -£72.6 (-2.4%). Still within normal mean-reversion holding window. Hold for recovery.",
"symbol": "LTA_CFD.FR"
},
{
"reason": "Position at breakeven. No signal to exit. Hold.",
"symbol": "PAG_CFD.UK"
},
{
"reason": "Position at breakeven. Small position, no exit signal. Hold.",
"symbol": "RHIM_CFD.UK"
},
{
"reason": "Small positive PnL (+£19.5). Price near entry. Hold.",
"symbol": "UTG_CFD.UK"
}
],
"sell": [
{
"reason": "Position has appreciated significantly (+8.9% unrealized gain, £267 PnL). Price moved from 309.4 to 337.0, well above entry — taking profit as mean-reversion strategy suggests fading extended moves.",
"symbol": "ROR_CFD.UK"
},
{
"reason": "Candidate flagged as overbought with +24.2% 1d spike, MA200 deviation +28.7%, MA50 deviation +18.6%. Sharply extended above averages — close long to lock in gains and avoid pullback risk.",
"symbol": "BOY_CFD.UK"
}
]
},
"portfolio_rationale": "Selling BOY (overbought, +24% spike flagged by screener) and ROR (strong profit, +8.9% gain) to lock in profits on extended positions. Buying VCT and ESNT as fresh mean-reversion longs with consistent oversold signals across multiple timeframes. Holding existing positions that are near breakeven or developing — no reason to churn. ICG already held and its -15% drop reinforces the hold thesis. After trades, portfolio will have ~8 active positions well within the 10-position limit and gross leverage constraints."
}Selection logs
#1073 • stage1 • 2026-04-09T12:43:05.144463+00:00
{
"selected_stocks": [
{
"symbol": "ICG_CFD.UK",
"selection_reason": "1d drop -15.2% with moderate MA200 deviation (-16.2%), MA50 deviation (-12.3%), and lowest volatility among large drops (73.1% 20d vol). Oversold bounce candidate within 2-10 day horizon.",
"mean_reversion_score": 78
},
{
"symbol": "VCT_CFD.UK",
"selection_reason": "1d drop -9.3%, MA200 deviation -11.3%, MA50 deviation only -2.9% suggesting price near short-term support. Moderate volatility (130%) makes reversion tradeable without extreme risk.",
"mean_reversion_score": 72
},
{
"symbol": "ESNT_CFD.UK",
"selection_reason": "1d drop -10.6%, MA200 deviation -10.7%, MA50 deviation -8.5%. Moderate and consistent oversold signals across timeframes. Volatility (126%) manageable for mean-reversion entry.",
"mean_reversion_score": 70
},
{
"symbol": "BOY_CFD.UK",
"selection_reason": "1d spike +24.2% with MA200 deviation +28.7% and MA50 deviation +18.6%. Sharply overbought on all timeframes — short candidate for mean reversion pullback. Volatility (103%) supports fade trade.",
"mean_reversion_score": 68
},
{
"symbol": "MGNS_CFD.UK",
"selection_reason": "1d spike +19.6% with MA200 deviation +32.0% and MA50 deviation +15.6%. Extended above both moving averages after sharp rally. Volatility (90%) is relatively contained — short fade candidate.",
"mean_reversion_score": 65
}
],
"rejected_common_reasons": [
"Extreme volatility (>200% 20d) makes mean-reversion unreliable and position sizing dangerous (PAGE, OCADO, VTY, CRST, BIG, VIRI)",
"Absurdly high volatility (>1000% 20d) signals data quality issues or illiquidity — untradeable (MDM, ZIL2, BPOST, CRDA, ATG, CLARI, COTY, BRBY)",
"Massive 1d drop >25% likely event/binary driven (VTY -52%, PAGE -37%, CBG -27%, OCDO -28%) — avoid event-driven moves",
"Distance from MA200 >50% suggests structural breakdown not mean-reversion (MDM, BIG, ONTEX, BYW6)",
"US-listed symbols (HUBS, WDAY, COTY) excluded from EU-focused scan",
"VXXB is a VIX ETF product — not an equity, excluded",
"Stocks near MA50 and MA200 with minimal 1d move offer insufficient mean-reversion setup (FGP, SHC, PAG, BOSS, DOM, OR)"
]
}