Arena run #967
meanrev-v1 • mistralai • mistralai/mistral-large-2512 • US • success
Run status
as_of: 2026-03-31T17:54:15.044829+00:00
started_at: 2026-03-31T18:34:30.245767+00:00
finished_at: 2026-03-31T18:34:55.345463+00:00
duration_ms: 25097
Inputs
{
"as_of": "2026-03-31T17:54:15.044829+00:00",
"dry_run": false,
"selected": [
{
"symbol": "FUTR_CFD.UK",
"selection_reason": "Extreme 1-day drop (-30.75%) with oversold MA50 (-32.27%) and MA200 (-45.18%) distances; high volatility (170.38%) suggests reversion potential.",
"mean_reversion_score": 90
},
{
"symbol": "PAGE_CFD.UK",
"selection_reason": "Large 1-day decline (-36.80%) with oversold MA50 (-31.73%) and MA200 (-40.61%) distances; high volatility (193.23%) supports reversion.",
"mean_reversion_score": 85
},
{
"symbol": "BOY_CFD.UK",
"selection_reason": "Strong 1-day gain (24.16%) with extended MA50 (18.64%) and MA200 (28.65%) distances; volatility (103.46%) indicates pullback likelihood.",
"mean_reversion_score": 75
},
{
"symbol": "ICG_CFD.UK",
"selection_reason": "Significant 1-day drop (-15.19%) with oversold MA50 (-12.26%) and MA200 (-16.18%) distances; moderate volatility (73.10%).",
"mean_reversion_score": 70
},
{
"symbol": "PHP_CFD.UK",
"selection_reason": "Moderate 1-day gain (10.52%) with extended MA50 (10.28%) and MA200 (11.92%) distances; lower volatility (53.84%) but clear overextension.",
"mean_reversion_score": 65
}
],
"simulate_only": false,
"strict_replay": false,
"universe_symbols": [
"CRST_CFD.UK",
"FUTR_CFD.UK",
"MSLH_CFD.UK",
"BOY_CFD.UK",
"PHP_CFD.UK",
"SPX_CFD.UK",
"PAGE_CFD.UK",
"ESNT_CFD.UK",
"ICG_CFD.UK",
"ABDN_CFD.UK",
"BBY_CFD.UK",
"CMCX_CFD.UK",
"BYIT_CFD.UK",
"ATG_CFD.UK",
"XOM_CFD.US"
]
}Outputs
{
"actions": {
"buy": [
{
"reason": "Extreme 1-day decline (-36.80%) with oversold MA50 (-31.73%) and MA200 (-40.61%) distances; high volatility (193.23%) suggests strong reversion potential. Top-ranked candidate with highest mean-reversion score after FUTR_CFD.UK (which is being sold).",
"symbol": "PAGE_CFD.UK",
"position_size": 3000
},
{
"reason": "Strong 1-day gain (24.16%) with extended MA50 (18.64%) and MA200 (28.65%) distances; volatility (103.46%) indicates pullback likelihood. Second-highest mean-reversion score among candidates not already held.",
"symbol": "BOY_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Moderate unrealized gain (124.40) with no clear overextension; holding aligns with mean-reversion strategy for gradual recovery.",
"symbol": "BTRW_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "CBG_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "CRST_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "ESNT_CFD.UK"
},
{
"reason": "Moderate unrealized gain (147.93) with no clear overextension; holding aligns with mean-reversion strategy.",
"symbol": "EXPD_CFD.US"
},
{
"reason": "Moderate unrealized gain (145.63) with no clear overextension; holding aligns with mean-reversion strategy.",
"symbol": "HIK_CFD.UK"
},
{
"reason": "Moderate unrealized gain (101.19) with no clear overextension; holding aligns with mean-reversion strategy.",
"symbol": "INF_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "IWG_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "JDW_CFD.UK"
},
{
"reason": "Moderate unrealized gain (92.56) with no clear overextension; holding aligns with mean-reversion strategy.",
"symbol": "JMAT_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "KGF_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "MCG_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "MSLH_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "PAG_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "STJ_CFD.UK"
},
{
"reason": "Moderate unrealized gain (373.93) with no clear overextension; holding aligns with mean-reversion strategy.",
"symbol": "SYNT_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "TPK_CFD.UK"
},
{
"reason": "Moderate unrealized gain (132.54) with no clear overextension; holding aligns with mean-reversion strategy.",
"symbol": "UKW_CFD.UK"
}
],
"sell": [
{
"reason": "Large unrealized loss (-2057.38) with extreme oversold condition already reflected in price; mean reversion may be exhausted or require longer recovery. Risk of further downside outweighs potential upside.",
"symbol": "FUTR_CFD.UK"
}
]
},
"portfolio_rationale": "Portfolio adjustments focused on mean-reversion opportunities with strict adherence to overtrading rules. Sold FUTR_CFD.UK due to extreme unrealized loss and potential exhaustion of reversion. Initiated positions in PAGE_CFD.UK and BOY_CFD.UK, the top two candidates with clear overextension signals. Held existing positions with no material changes to avoid churn. Gross leverage remains within limits (current: ~2.1, max: 3.0)."
}Prompts & responses
#1887 • openrouter • mistralai/mistral-large-2512 • 2026-03-31T18:34:30.264163+00:00
System prompt
You are an Arena strategy executor. You must follow the strategy rules strictly and output ONLY valid JSON. You are NOT allowed to invent prices, fundamentals, earnings dates, or sentiment. If a field is null/empty, treat it as unknown. You are a constrained selector (no narrative).
User prompt
{"task": "stage1_universe_scan", "region": "US", "strategy": {"key": "meanrev-v1", "name": "Two-Stage LLM Mean-Reversion (Arena v1)", "rules": {"max_positions": 10, "max_buys_per_run": 2, "avoid_overtrading": true, "max_sells_per_run": 2, "max_gross_leverage": 3.0, "fixed_position_size": 3000.0, "universe_symbols_eu": [], "universe_symbols_us": []}}, "selection_rules": {"horizon": "2-10 trading days", "target": "short-term mean reversion in liquid equities", "constraints": ["Select exactly 5 candidates", "Avoid earnings within 5 trading days (if known)", "Avoid highly binary/event-driven moves (if known)", "Avoid sector concentration: max 1 per sector unless clearly justified (sector may be unknown)"]}, "universe": [{"symbol": "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": "FUTR_CFD.UK", "name": "FUTURE PLC", "sector": "", "last_price": 368.42, "change_1d_pct": -30.74812030075188, "distance_from_ma200_pct": -45.17933560634293, "distance_from_ma50_pct": -32.26659626501075, "volatility_20d_pct": 170.38116786538166, "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": "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": "PHP_CFD.UK", "name": "PRIMARY HEALTH PROPERTIES", "sector": "", "last_price": 107.7, "change_1d_pct": 10.518214468958442, "distance_from_ma200_pct": 11.915056783642308, "distance_from_ma50_pct": 10.278080977082226, "volatility_20d_pct": 53.84238650296991, "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": "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": "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": "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": "ABDN_CFD.UK", "name": "Aberdeen Group Plc", "sector": "", "last_price": 206.2, "change_1d_pct": 0.4873294346978474, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -3.567353199768042, "volatility_20d_pct": 5122.525857900045, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BBY_CFD.UK", "name": "BALFOUR BEATTY PLC", "sector": "", "last_price": 722.5, "change_1d_pct": -1.0951403148528382, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -1.628407265201648, "volatility_20d_pct": 2239.4661443465884, "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": 325.0, "change_1d_pct": 0.0, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 2.8513560555713857, "volatility_20d_pct": 3004.223066122388, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BYIT_CFD.UK", "name": "BYTES TECHNOLOGY GROUP PLC", "sector": "", "last_price": 316.4, "change_1d_pct": 1.9329896907216426, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -3.036395062333752, "volatility_20d_pct": 3610.9502328075146, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "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": "XOM_CFD.US", "name": "Exxon Mobil Corp", "sector": "", "last_price": 148.54, "change_1d_pct": -0.34885281094861886, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 11.543788813652633, "volatility_20d_pct": 3176.0099738127233, "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": "FUTR_CFD.UK",
"selection_reason": "Extreme 1-day drop (-30.75%) with oversold MA50 (-32.27%) and MA200 (-45.18%) distances; high volatility (170.38%) suggests reversion potential.",
"mean_reversion_score": 90
},
{
"symbol": "PAGE_CFD.UK",
"selection_reason": "Large 1-day decline (-36.80%) with oversold MA50 (-31.73%) and MA200 (-40.61%) distances; high volatility (193.23%) supports reversion.",
"mean_reversion_score": 85
},
{
"symbol": "BOY_CFD.UK",
"selection_reason": "Strong 1-day gain (24.16%) with extended MA50 (18.64%) and MA200 (28.65%) distances; volatility (103.46%) indicates pullback likelihood.",
"mean_reversion_score": 75
},
{
"symbol": "ICG_CFD.UK",
"selection_reason": "Significant 1-day drop (-15.19%) with oversold MA50 (-12.26%) and MA200 (-16.18%) distances; moderate volatility (73.10%).",
"mean_reversion_score": 70
},
{
"symbol": "PHP_CFD.UK",
"selection_reason": "Moderate 1-day gain (10.52%) with extended MA50 (10.28%) and MA200 (11.92%) distances; lower volatility (53.84%) but clear overextension.",
"mean_reversion_score": 65
}
],
"rejected_common_reasons": [
"Missing MA200 distance (insufficient data)",
"Low volatility or unclear mean-reversion signal",
"No confirmed earnings date to rule out event risk"
]
}#1888 • openrouter • mistralai/mistral-large-2512 • 2026-03-31T18:34:37.969725+00:00
System prompt
You are an Arena portfolio manager. You must follow the strategy rules strictly and output ONLY valid JSON. You are NOT allowed to invent prices/fundamentals/news/earnings. If a field is null/empty, treat it as unknown. Avoid overtrading: if changes are marginal, prefer HOLD. Do not churn.
User prompt
{"task": "stage2_portfolio_management", "region": "US", "strategy": {"key": "meanrev-v1", "name": "Two-Stage LLM Mean-Reversion (Arena v1)", "rules": {"max_positions": 10, "max_buys_per_run": 2, "avoid_overtrading": true, "max_sells_per_run": 2, "max_gross_leverage": 3.0, "fixed_position_size": 3000.0, "universe_symbols_eu": [], "universe_symbols_us": []}}, "portfolio_constraints": {"initial_equity": 10000.0, "max_positions": 10, "fixed_position_size": 3000.0, "max_gross_leverage": 3.0, "overtrading_rules": ["Max 2 SELL actions per run unless risk event forces more", "Max 2 BUY actions per run", "If no clear improvement vs current holdings, output HOLD for everything"]}, "current_portfolio": [{"symbol": "AAL_CFD.UK", "qty": 0.0, "avg_price": 2913.0, "last_price": 2900.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T10:09:24.325041+00:00"}, {"symbol": "ACM_CFD.US", "qty": 0.0, "avg_price": 88.42, "last_price": 97.88, "unrealized_pnl": 0.0, "opened_at": "2026-02-15T10:57:15.913854+00:00"}, {"symbol": "ADS_CFD.DE", "qty": 0.0, "avg_price": 137.15, "last_price": 138.55, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "AIR_CFD.DE", "qty": 0.0, "avg_price": 200.984, "last_price": 187.12, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "AMCX_CFD.US", "qty": 0.0, "avg_price": 7.5, "last_price": 7.365, "unrealized_pnl": -53.999999999999915, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "AMH_CFD.US", "qty": 0.0, "avg_price": 29.595, "last_price": 29.485, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "ATG_CFD.UK", "qty": 0.0, "avg_price": 296.0, "last_price": 296.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T18:49:26.891792+00:00"}, {"symbol": "ATO_CFD.FR", "qty": 0.0, "avg_price": 35.106, "last_price": 38.024, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "AUTO_CFD.UK", "qty": 0.0, "avg_price": 482.8, "last_price": 482.8, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T18:04:14.272849+00:00"}, {"symbol": "BIG_CFD.FR", "qty": 0.0, "avg_price": 0.453, "last_price": 0.453, "unrealized_pnl": 0.0, "opened_at": "2026-02-28T10:51:05.818250+00:00"}, {"symbol": "BLND_CFD.UK", "qty": 0.0, "avg_price": 364.2, "last_price": 364.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T18:18:45.954380+00:00"}, {"symbol": "BRBY_CFD.UK", "qty": 0.0, "avg_price": 1070.84, "last_price": 1070.84, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T10:19:46.508085+00:00"}, {"symbol": "BTRW_CFD.UK", "qty": 11.961722488038276, "avg_price": 250.8, "last_price": 261.2, "unrealized_pnl": 124.4019138755978, "opened_at": "2026-03-23T18:04:09.108429+00:00"}, {"symbol": "BYIT_CFD.UK", "qty": 0.0, "avg_price": 292.6, "last_price": 292.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-15T10:57:15.913854+00:00"}, {"symbol": "CBG_CFD.UK", "qty": 78.73556514638985, "avg_price": 342.9199999999999, "last_price": 342.92, "unrealized_pnl": 8.95119741771735e-12, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "CRST_CFD.UK", "qty": 25.246149962130776, "avg_price": 118.83, "last_price": 118.83, "unrealized_pnl": 0.0, "opened_at": "2026-03-18T17:58:33.497657+00:00"}, {"symbol": "CRWD_CFD.US", "qty": 0.0, "avg_price": 350.24, "last_price": 350.055, "unrealized_pnl": -1.5846276838739344, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "DLTR_CFD.US", "qty": 0.0, "avg_price": 112.12, "last_price": 107.655, "unrealized_pnl": 0.0, "opened_at": "2026-03-17T18:12:35.221859+00:00"}, {"symbol": "DOM_CFD.UK", "qty": 0.0, "avg_price": 199.3, "last_price": 189.21, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "DSY_CFD.FR", "qty": 0.0, "avg_price": 17.881, "last_price": 16.752, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "ESNT_CFD.UK", "qty": 31.413612565445025, "avg_price": 95.5, "last_price": 95.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-20T10:26:40.341409+00:00"}, {"symbol": "ESTC_CFD.US", "qty": 0.0, "avg_price": 58.085, "last_price": 54.045, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}, {"symbol": "EVT_CFD.DE", "qty": 0.0, "avg_price": 4.502, "last_price": 4.353, "unrealized_pnl": 0.0, "opened_at": "2026-03-11T10:11:17.665074+00:00"}, {"symbol": "EXM_CFD.BE", "qty": 0.0, "avg_price": 10.0, "last_price": 9.933, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "EXPD_CFD.US", "qty": 22.01269398686576, "avg_price": 136.285, "last_price": 143.005, "unrealized_pnl": 147.92530359173787, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "EZJ_CFD.UK", "qty": 0.0, "avg_price": 405.2, "last_price": 394.1, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "FRVIA_CFD.FR", "qty": 0.0, "avg_price": 12.709, "last_price": 12.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "FUTR_CFD.UK", "qty": 24.428641224689216, "avg_price": 368.41999999999996, "last_price": 284.2, "unrealized_pnl": -2057.380163943325, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "GO_CFD.US", "qty": 0.0, "avg_price": 6.53, "last_price": 6.35, "unrealized_pnl": 0.0, "opened_at": "2026-03-05T18:20:59.102726+00:00"}, {"symbol": "GRI_CFD.UK", "qty": 0.0, "avg_price": 189.6, "last_price": 189.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "HIK_CFD.UK", "qty": 4.854368932038835, "avg_price": 1236.0, "last_price": 1266.0, "unrealized_pnl": 145.63106796116503, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "ICG_CFD.UK", "qty": 0.0, "avg_price": 1693.0, "last_price": 1496.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "INF_CFD.UK", "qty": 4.0474905558553695, "avg_price": 741.2, "last_price": 766.2, "unrealized_pnl": 101.18726389638424, "opened_at": "2026-03-21T10:00:02.317290+00:00"}, {"symbol": "ITRK_CFD.UK", "qty": 0.0, "avg_price": 3942.0, "last_price": 3760.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T10:07:39.444598+00:00"}, {"symbol": "IWG_CFD.UK", "qty": 52.26480836236934, "avg_price": 172.20000000000002, "last_price": 172.2, "unrealized_pnl": -1.4854551967110108e-12, "opened_at": "2026-03-16T18:18:58.833148+00:00"}, {"symbol": "JDW_CFD.UK", "qty": 4.514672686230249, "avg_price": 664.5, "last_price": 664.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T10:35:48.762746+00:00"}, {"symbol": "JEF_CFD.US", "qty": 0.0, "avg_price": 47.46, "last_price": 44.27, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T18:07:22.382508+00:00"}, {"symbol": "JMAT_CFD.UK", "qty": 1.6528925619834711, "avg_price": 1815.0, "last_price": 1871.0, "unrealized_pnl": 92.56198347107438, "opened_at": "2026-03-03T10:20:03.276878+00:00"}, {"symbol": "KGF_CFD.UK", "qty": 10.384215991692628, "avg_price": 288.9, "last_price": 288.9, "unrealized_pnl": 0.0, "opened_at": "2026-03-27T09:59:46.331143+00:00"}, {"symbol": "LIO_CFD.UK", "qty": 0.0, "avg_price": 250.0, "last_price": 257.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "MCG_CFD.UK", "qty": 172.51293847038528, "avg_price": 17.39, "last_price": 17.39, "unrealized_pnl": 0.0, "opened_at": "2026-03-27T18:04:13.865611+00:00"}, {"symbol": "MSLH_CFD.UK", "qty": 21.30681818181818, "avg_price": 140.8, "last_price": 140.8, "unrealized_pnl": 0.0, "opened_at": "2026-03-21T17:59:11.913241+00:00"}, {"symbol": "NA9_CFD.DE", "qty": 0.0, "avg_price": 48.578, "last_price": 53.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "OCDO_CFD.UK", "qty": 44.052863436123346, "avg_price": 204.3, "last_price": 204.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "OKTA_CFD.US", "qty": 0.0, "avg_price": 70.18, "last_price": 79.26, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "PAGE_CFD.UK", "qty": 180.58690744920995, "avg_price": 132.89999999999998, "last_price": 132.9, "unrealized_pnl": 5.132588610456706e-12, "opened_at": "2026-03-06T10:33:43.857578+00:00"}, {"symbol": "PAG_CFD.UK", "qty": 3.9190071848465053, "avg_price": 765.5, "last_price": 765.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-22T18:18:31.438015+00:00"}, {"symbol": "PSN_CFD.UK", "qty": 0.0, "avg_price": 1113.0, "last_price": 1078.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-21T10:00:02.317290+00:00"}, {"symbol": "RMV_CFD.UK", "qty": 0.0, "avg_price": 424.3, "last_price": 424.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "SOI_CFD.FR", "qty": 0.0, "avg_price": 57.5, "last_price": 54.96, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T10:09:24.325041+00:00"}, {"symbol": "STJ_CFD.UK", "qty": 2.459016393442623, "avg_price": 1220.0, "last_price": 1220.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T10:35:48.762746+00:00"}, {"symbol": "SYNT_CFD.UK", "qty": 85.9598853868195, "avg_price": 34.9, "last_price": 39.25, "unrealized_pnl": 373.92550143266493, "opened_at": "2026-03-04T18:49:26.891792+00:00"}, {"symbol": "TPK_CFD.UK", "qty": 5.328975415660082, "avg_price": 562.96, "last_price": 562.96, "unrealized_pnl": 0.0, "opened_at": "2026-03-22T18:18:31.438015+00:00"}, {"symbol": "TRN_CFD.UK", "qty": 0.0, "avg_price": 184.50000000000003, "last_price": 211.4, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "TRST_CFD.UK", "qty": 0.0, "avg_price": 151.8, "last_price": 224.82, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "TUI1_CFD.DE", "qty": 0.0, "avg_price": 7.398000000000001, "last_price": 6.95, "unrealized_pnl": -181.67072181670738, "opened_at": "2026-03-02T10:31:26.559356+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 32.48511099079589, "avg_price": 92.35, "last_price": 96.43, "unrealized_pnl": 132.53925284244764, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "ULTA_CFD.US", "qty": 0.0, "avg_price": 535.2, "last_price": 523.22, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "UTG_CFD.UK", "qty": 0.0, "avg_price": 505.0, "last_price": 505.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-26T17:55:26.602359+00:00"}, {"symbol": "VSVS_CFD.UK", "qty": 0.0, "avg_price": 425.0, "last_price": 421.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T18:18:58.833148+00:00"}, {"symbol": "VTY_CFD.UK", "qty": 0.0, "avg_price": 385.0, "last_price": 385.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-11T10:11:17.665074+00:00"}, {"symbol": "WEIR_CFD.UK", "qty": 0.0, "avg_price": 2890.0, "last_price": 2842.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-14T10:03:26.036362+00:00"}, {"symbol": "WIX_CFD.UK", "qty": 0.0, "avg_price": 224.5, "last_price": 222.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T10:19:46.508085+00:00"}, {"symbol": "WIZZ_CFD.UK", "qty": 0.0, "avg_price": 1087.0, "last_price": 1064.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T10:20:03.276878+00:00"}, {"symbol": "WKP_CFD.UK", "qty": 0.0, "avg_price": 412.5, "last_price": 412.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T09:32:59.506254+00:00"}, {"symbol": "WPP_CFD.UK", "qty": 0.0, "avg_price": 263.4, "last_price": 257.0, "unrealized_pnl": -72.89293849658289, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "ZS_CFD.US", "qty": 0.0, "avg_price": 159.76, "last_price": 144.45, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}], "candidates": [{"symbol": "FUTR_CFD.UK", "mean_reversion_score": 90, "selection_reason": "Extreme 1-day drop (-30.75%) with oversold MA50 (-32.27%) and MA200 (-45.18%) distances; high volatility (170.38%) suggests reversion potential."}, {"symbol": "PAGE_CFD.UK", "mean_reversion_score": 85, "selection_reason": "Large 1-day decline (-36.80%) with oversold MA50 (-31.73%) and MA200 (-40.61%) distances; high volatility (193.23%) supports reversion."}, {"symbol": "BOY_CFD.UK", "mean_reversion_score": 75, "selection_reason": "Strong 1-day gain (24.16%) with extended MA50 (18.64%) and MA200 (28.65%) distances; volatility (103.46%) indicates pullback likelihood."}, {"symbol": "ICG_CFD.UK", "mean_reversion_score": 70, "selection_reason": "Significant 1-day drop (-15.19%) with oversold MA50 (-12.26%) and MA200 (-16.18%) distances; moderate volatility (73.10%)."}, {"symbol": "PHP_CFD.UK", "mean_reversion_score": 65, "selection_reason": "Moderate 1-day gain (10.52%) with extended MA50 (10.28%) and MA200 (11.92%) distances; lower volatility (53.84%) but clear overextension."}], "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": "Extreme 1-day decline (-36.80%) with oversold MA50 (-31.73%) and MA200 (-40.61%) distances; high volatility (193.23%) suggests strong reversion potential. Top-ranked candidate with highest mean-reversion score after FUTR_CFD.UK (which is being sold).",
"symbol": "PAGE_CFD.UK",
"position_size": 3000
},
{
"reason": "Strong 1-day gain (24.16%) with extended MA50 (18.64%) and MA200 (28.65%) distances; volatility (103.46%) indicates pullback likelihood. Second-highest mean-reversion score among candidates not already held.",
"symbol": "BOY_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Moderate unrealized gain (124.40) with no clear overextension; holding aligns with mean-reversion strategy for gradual recovery.",
"symbol": "BTRW_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "CBG_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "CRST_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "ESNT_CFD.UK"
},
{
"reason": "Moderate unrealized gain (147.93) with no clear overextension; holding aligns with mean-reversion strategy.",
"symbol": "EXPD_CFD.US"
},
{
"reason": "Moderate unrealized gain (145.63) with no clear overextension; holding aligns with mean-reversion strategy.",
"symbol": "HIK_CFD.UK"
},
{
"reason": "Moderate unrealized gain (101.19) with no clear overextension; holding aligns with mean-reversion strategy.",
"symbol": "INF_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "IWG_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "JDW_CFD.UK"
},
{
"reason": "Moderate unrealized gain (92.56) with no clear overextension; holding aligns with mean-reversion strategy.",
"symbol": "JMAT_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "KGF_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "MCG_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "MSLH_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "PAG_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "STJ_CFD.UK"
},
{
"reason": "Moderate unrealized gain (373.93) with no clear overextension; holding aligns with mean-reversion strategy.",
"symbol": "SYNT_CFD.UK"
},
{
"reason": "No material price change; holding to avoid overtrading.",
"symbol": "TPK_CFD.UK"
},
{
"reason": "Moderate unrealized gain (132.54) with no clear overextension; holding aligns with mean-reversion strategy.",
"symbol": "UKW_CFD.UK"
}
],
"sell": [
{
"reason": "Large unrealized loss (-2057.38) with extreme oversold condition already reflected in price; mean reversion may be exhausted or require longer recovery. Risk of further downside outweighs potential upside.",
"symbol": "FUTR_CFD.UK"
}
]
},
"portfolio_rationale": "Portfolio adjustments focused on mean-reversion opportunities with strict adherence to overtrading rules. Sold FUTR_CFD.UK due to extreme unrealized loss and potential exhaustion of reversion. Initiated positions in PAGE_CFD.UK and BOY_CFD.UK, the top two candidates with clear overextension signals. Held existing positions with no material changes to avoid churn. Gross leverage remains within limits (current: ~2.1, max: 3.0)."
}Selection logs
#925 • stage1 • 2026-03-31T18:34:37.957193+00:00
{
"selected_stocks": [
{
"symbol": "FUTR_CFD.UK",
"selection_reason": "Extreme 1-day drop (-30.75%) with oversold MA50 (-32.27%) and MA200 (-45.18%) distances; high volatility (170.38%) suggests reversion potential.",
"mean_reversion_score": 90
},
{
"symbol": "PAGE_CFD.UK",
"selection_reason": "Large 1-day decline (-36.80%) with oversold MA50 (-31.73%) and MA200 (-40.61%) distances; high volatility (193.23%) supports reversion.",
"mean_reversion_score": 85
},
{
"symbol": "BOY_CFD.UK",
"selection_reason": "Strong 1-day gain (24.16%) with extended MA50 (18.64%) and MA200 (28.65%) distances; volatility (103.46%) indicates pullback likelihood.",
"mean_reversion_score": 75
},
{
"symbol": "ICG_CFD.UK",
"selection_reason": "Significant 1-day drop (-15.19%) with oversold MA50 (-12.26%) and MA200 (-16.18%) distances; moderate volatility (73.10%).",
"mean_reversion_score": 70
},
{
"symbol": "PHP_CFD.UK",
"selection_reason": "Moderate 1-day gain (10.52%) with extended MA50 (10.28%) and MA200 (11.92%) distances; lower volatility (53.84%) but clear overextension.",
"mean_reversion_score": 65
}
],
"rejected_common_reasons": [
"Missing MA200 distance (insufficient data)",
"Low volatility or unclear mean-reversion signal",
"No confirmed earnings date to rule out event risk"
]
}