Arena run #347
meanrev-v1 • amazon • amazon/nova-premier-v1 • EU • success
Run status
as_of: 2026-02-28T10:51:05.818250+00:00
started_at: 2026-02-28T22:05:29.663836+00:00
finished_at: 2026-02-28T22:05:49.306675+00:00
duration_ms: 19641
Inputs
{
"dry_run": false,
"selected": [
{
"symbol": "WPP_CFD.UK",
"selection_reason": "Strong negative 1d move (-8.45%) with large distance from MA200 (-33.1%)",
"mean_reversion_score": 85
},
{
"symbol": "DLN_CFD.UK",
"selection_reason": "Negative 1d change (-7.22%) and MA50 divergence (+4.05%)",
"mean_reversion_score": 78
},
{
"symbol": "UKW_CFD.UK",
"selection_reason": "Negative 1d performance (-5.91%) with significant distance from MA200 (-17.6%)",
"mean_reversion_score": 72
},
{
"symbol": "PAGE_CFD.UK",
"selection_reason": "Large distance from both MA50 (-10.07%) and MA200 (-20.78%)",
"mean_reversion_score": 68
},
{
"symbol": "GRG_CFD.UK",
"selection_reason": "Consistent negative distance from MA50 (-5.2%) and MA200 (-7.75%)",
"mean_reversion_score": 65
}
],
"universe_symbols": [
"WPP_CFD.UK",
"DLN_CFD.UK",
"UKW_CFD.UK",
"CRDA_CFD.UK",
"BIG_CFD.FR",
"BTRW_CFD.UK",
"MNDI_CFD.UK",
"IPO_CFD.UK",
"ATG_CFD.UK",
"BYIT_CFD.UK",
"MKS_CFD.UK",
"WKP_CFD.UK",
"COTY_CFD.US",
"MSLH_CFD.UK",
"PAGE_CFD.UK",
"GRG_CFD.UK",
"NVDA_CFD.US",
"GRI_CFD.UK",
"MTN_CFD.US",
"ZBH_CFD.US",
"PROX_CFD.BE",
"THG_CFD.UK",
"HIW_CFD.US",
"DEI_CFD.US",
"APTV_CFD.US",
"ACKB_CFD.BE",
"SLM_CFD.US",
"PRU_CFD.UK",
"SDG_CFD.FR",
"SEM_CFD.PT"
]
}Outputs
{
"actions": {
"buy": [
{
"reason": "Highest mean-reversion score (85) with strong negative move (-8.45%)",
"symbol": "WPP_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Minor price movement (+0.9%)",
"symbol": "ADP_CFD.FR"
},
{
"reason": "Small gain (+0.9%) below threshold",
"symbol": "AKAM_CFD.US"
},
{
"reason": "No price movement",
"symbol": "BYIT_CFD.UK"
},
{
"reason": "Recent purchase with +1.9% gain",
"symbol": "CABO_CFD.US"
},
{
"reason": "Small gain (+1.1%) below threshold",
"symbol": "EXE_CFD.FR"
},
{
"reason": "Significant gain (+3.4%) but holding for momentum",
"symbol": "FUTR_CFD.UK"
},
{
"reason": "No price movement",
"symbol": "HMSO_CFD.UK"
},
{
"reason": "No price movement",
"symbol": "UKW_CFD.UK"
}
],
"sell": [
{
"reason": "Profit-taking after +8% gain",
"symbol": "LIO_CFD.UK"
}
]
},
"portfolio_rationale": "Selling LIO_CFD.UK to lock in profits after exceeding 8% gain. Holding most positions due to minor price changes or recent purchases. Buying WPP_CFD.UK as top candidate with extreme negative deviation (-33.1%) from MA200 and highest score. Maintaining max 2 actions per run as required."
}Prompts & responses
#681 • openrouter • amazon/nova-premier-v1 • 2026-02-28T22:05:29.694461+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": "WPP_CFD.UK", "name": "WPP PLC", "sector": "", "last_price": 263.4, "change_1d_pct": -8.446298227320126, "distance_from_ma200_pct": -33.12263832969092, "distance_from_ma50_pct": -14.059074108876779, "volatility_20d_pct": 6180.039131285307, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "DLN_CFD.UK", "name": "DERWENT LONDON PLC", "sector": "", "last_price": 1812.0, "change_1d_pct": -7.219662058371734, "distance_from_ma200_pct": -2.516182676819012, "distance_from_ma50_pct": 4.053563926444004, "volatility_20d_pct": 7353.720365167649, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "UKW_CFD.UK", "name": "GREENCOAT UK WIND PLC", "sector": "", "last_price": 92.35, "change_1d_pct": -5.909322465613864, "distance_from_ma200_pct": -17.64082660607077, "distance_from_ma50_pct": -12.349969913308566, "volatility_20d_pct": 2773.983404143022, "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": 3270.0, "change_1d_pct": 18.306801736613608, "distance_from_ma200_pct": 15.315074372668791, "distance_from_ma50_pct": 15.114636224020273, "volatility_20d_pct": 105.57470323224747, "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.473, "change_1d_pct": -40.65244667503137, "distance_from_ma200_pct": -57.481044006670004, "distance_from_ma50_pct": -45.84258856396987, "volatility_20d_pct": 245.7660340614924, "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": "BTRW_CFD.UK", "name": "Barratt Redrow Plc", "sector": "", "last_price": 377.4, "change_1d_pct": 0.9090909090909038, "distance_from_ma200_pct": -5.28549121293298, "distance_from_ma50_pct": -0.5047525194126434, "volatility_20d_pct": 106.95952062178588, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MNDI_CFD.UK", "name": "MONDI PLC", "sector": "", "last_price": 875.4, "change_1d_pct": -3.035002215330085, "distance_from_ma200_pct": -12.703792119747192, "distance_from_ma50_pct": -2.3538587292125546, "volatility_20d_pct": 3722.256694775448, "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": "IPO_CFD.UK", "name": "IP GROUP PLC", "sector": "", "last_price": 55.9, "change_1d_pct": -2.951388888888895, "distance_from_ma200_pct": 6.980220141944948, "distance_from_ma50_pct": -4.919036603619542, "volatility_20d_pct": 3048.7333361404435, "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": 316.5, "change_1d_pct": 3.770491803278686, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 2.606496790507684, "volatility_20d_pct": 3869.8570945036245, "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": 303.4, "change_1d_pct": -0.19736842105263497, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -8.431320472269855, "volatility_20d_pct": 4293.435519186852, "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": 397.6, "change_1d_pct": -2.572898799313894, "distance_from_ma200_pct": 10.091859972346917, "distance_from_ma50_pct": 12.883416074757426, "volatility_20d_pct": 3230.9162818073323, "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": 412.5, "change_1d_pct": -2.4822695035460973, "distance_from_ma200_pct": -0.6645361918828807, "distance_from_ma50_pct": 3.1817499624793744, "volatility_20d_pct": 3857.1547460259226, "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": "MSLH_CFD.UK", "name": "MARSHALLS PLC", "sector": "", "last_price": 179.0, "change_1d_pct": -1.8640350877193068, "distance_from_ma200_pct": -18.62123458406586, "distance_from_ma50_pct": 4.206326197237553, "volatility_20d_pct": 4778.187923340776, "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": 205.8, "change_1d_pct": -1.8129770992366345, "distance_from_ma200_pct": -20.77588815310809, "distance_from_ma50_pct": -10.0711565251285, "volatility_20d_pct": 6348.641656770371, "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": "GRG_CFD.UK", "name": "GREGGS PLC", "sector": "", "last_price": 1570.0, "change_1d_pct": -1.7521902377972465, "distance_from_ma200_pct": -7.7479256136856245, "distance_from_ma50_pct": -5.198503464783366, "volatility_20d_pct": 2727.2507519143423, "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": "NVDA_CFD.US", "name": "NVIDIA CORP", "sector": "", "last_price": 179.38, "change_1d_pct": -7.018453244868339, "distance_from_ma200_pct": 2.533500011717793, "distance_from_ma50_pct": -3.3704524102979527, "volatility_20d_pct": 73.2870546822064, "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": "GRI_CFD.UK", "name": "GRAINGER PLC", "sector": "", "last_price": 192.4, "change_1d_pct": 0.08322929671245038, "distance_from_ma200_pct": -4.9312468607917275, "distance_from_ma50_pct": 0.9128310349964197, "volatility_20d_pct": 71.43116862190418, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MTN_CFD.US", "name": "", "sector": "", "last_price": 137.48, "change_1d_pct": -3.6107410783145277, "distance_from_ma200_pct": -7.823781705689148, "distance_from_ma50_pct": -1.3887912595523466, "volatility_20d_pct": 73.37276552252995, "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": "ZBH_CFD.US", "name": "Zimmer Biomet Holdings Inc", "sector": "", "last_price": 99.89, "change_1d_pct": 0.07012622720898865, "distance_from_ma200_pct": 4.829184260195518, "distance_from_ma50_pct": 9.180853947517997, "volatility_20d_pct": 53.36212078055538, "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": "PROX_CFD.BE", "name": "Proximus SA", "sector": "", "last_price": 7.08, "change_1d_pct": -13.288426209430481, "distance_from_ma200_pct": -2.3050084551703542, "distance_from_ma50_pct": -7.913938552063737, "volatility_20d_pct": 126.61036463851869, "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": "THG_CFD.UK", "name": "THG PLC", "sector": "", "last_price": 35.48, "change_1d_pct": -20.090090090090097, "distance_from_ma200_pct": 4.031971945380275, "distance_from_ma50_pct": -18.256005234564732, "volatility_20d_pct": 150.3458448856807, "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": "HIW_CFD.US", "name": "", "sector": "", "last_price": 22.84, "change_1d_pct": -0.13117621337997987, "distance_from_ma200_pct": -20.75167934269694, "distance_from_ma50_pct": -10.160798011265303, "volatility_20d_pct": 63.260238309428416, "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": "DEI_CFD.US", "name": "Douglas Emmett Inc", "sector": "", "last_price": 10.11, "change_1d_pct": 2.3279352226720507, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -7.731857118801466, "volatility_20d_pct": 2991.4769682262086, "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": "APTV_CFD.US", "name": "Aptiv PLC", "sector": "", "last_price": 74.18, "change_1d_pct": -4.799794661190959, "distance_from_ma200_pct": -3.318427497292309, "distance_from_ma50_pct": -7.091738454100716, "volatility_20d_pct": 78.93944473827398, "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": "ACKB_CFD.BE", "name": "Ackermans & Van Haaren NV", "sector": "", "last_price": 294.6, "change_1d_pct": 0.0, "distance_from_ma200_pct": 28.807750693779077, "distance_from_ma50_pct": 17.098103885176762, "volatility_20d_pct": 41.10800910807287, "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": "SLM_CFD.US", "name": "SLM CORP", "sector": "", "last_price": 18.94, "change_1d_pct": -4.4881492687846585, "distance_from_ma200_pct": -35.016811912440815, "distance_from_ma50_pct": -27.235007107457065, "volatility_20d_pct": 95.89464274862077, "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": "PRU_CFD.UK", "name": "", "sector": "", "last_price": 1145.5, "change_1d_pct": 4.899267399267404, "distance_from_ma200_pct": 11.886174790428306, "distance_from_ma50_pct": -0.9125217162037624, "volatility_20d_pct": 62.26709553371618, "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": "SDG_CFD.FR", "name": "", "sector": "", "last_price": 28.8, "change_1d_pct": -2.3728813559321993, "distance_from_ma200_pct": -10.344096555672355, "distance_from_ma50_pct": -4.05973880263889, "volatility_20d_pct": 76.58466116410548, "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": "SEM_CFD.PT", "name": "Semapa-Sociedade de Investimento e Gestao SGPS SA", "sector": "", "last_price": 24.15, "change_1d_pct": 8.295964125560529, "distance_from_ma200_pct": 33.02003397381239, "distance_from_ma50_pct": 13.413294010463117, "volatility_20d_pct": 132.43471569412125, "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": "WPP_CFD.UK",
"selection_reason": "Strong negative 1d move (-8.45%) with large distance from MA200 (-33.1%)",
"mean_reversion_score": 85
},
{
"symbol": "DLN_CFD.UK",
"selection_reason": "Negative 1d change (-7.22%) and MA50 divergence (+4.05%)",
"mean_reversion_score": 78
},
{
"symbol": "UKW_CFD.UK",
"selection_reason": "Negative 1d performance (-5.91%) with significant distance from MA200 (-17.6%)",
"mean_reversion_score": 72
},
{
"symbol": "PAGE_CFD.UK",
"selection_reason": "Large distance from both MA50 (-10.07%) and MA200 (-20.78%)",
"mean_reversion_score": 68
},
{
"symbol": "GRG_CFD.UK",
"selection_reason": "Consistent negative distance from MA50 (-5.2%) and MA200 (-7.75%)",
"mean_reversion_score": 65
}
],
"rejected_common_reasons": [
"Missing key technical indicators",
"Positive 1-day price movement",
"Extreme volatility outliers",
"Insufficient mean reversion signal strength"
]
}#682 • openrouter • amazon/nova-premier-v1 • 2026-02-28T22:05:43.110228+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": "ADP_CFD.FR", "qty": 25.53191489361702, "avg_price": 117.5, "last_price": 118.8, "unrealized_pnl": 33.191489361702054, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "AKAM_CFD.US", "qty": 30.783438510081577, "avg_price": 97.455, "last_price": 98.34, "unrealized_pnl": 27.243343081422353, "opened_at": "2026-02-23T18:14:12.978497+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-21T17:32:49.140800+00:00"}, {"symbol": "BRNL_CFD.NL", "qty": 0.0, "avg_price": 7.05, "last_price": 6.68, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T10:32:09.961595+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-16T09:30:55.514112+00:00"}, {"symbol": "CABO_CFD.US", "qty": 31.71247357293869, "avg_price": 94.6, "last_price": 96.44, "unrealized_pnl": 58.3509513742073, "opened_at": "2026-02-27T18:23:55.960577+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": "ERA_CFD.FR", "qty": 0.0, "avg_price": 47.4, "last_price": 46.329, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "ESTC_CFD.US", "qty": 0.0, "avg_price": 58.085, "last_price": 55.355000000000004, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "EXE_CFD.FR", "qty": 80.42248612712115, "avg_price": 37.303, "last_price": 37.7, "unrealized_pnl": 31.927726992467544, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "EZJ_CFD.UK", "qty": 0.0, "avg_price": 474.05, "last_price": 463.8, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "FUTR_CFD.UK", "qty": 22.466300549176236, "avg_price": 400.6, "last_price": 414.2, "unrealized_pnl": 305.54168746879606, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "HAIN_CFD.US", "qty": 3750.0, "avg_price": 0.8, "last_price": 0.8, "unrealized_pnl": 0.0, "opened_at": "2026-02-27T18:23:55.960577+00:00"}, {"symbol": "HIK_CFD.UK", "qty": 0.0, "avg_price": 1409.0, "last_price": 1342.0, "unrealized_pnl": -142.65436479772887, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "HMSO_CFD.UK", "qty": 8.600917431192661, "avg_price": 348.8, "last_price": 348.8, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "IPO_CFD.UK", "qty": 0.0, "avg_price": 57.7, "last_price": 57.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "KBCA_CFD.BE", "qty": 0.0, "avg_price": 75.3, "last_price": 75.1, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "LIO_CFD.UK", "qty": 12.0, "avg_price": 250.0, "last_price": 270.0, "unrealized_pnl": 240.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "PAGE_CFD.UK", "qty": 14.577259475218659, "avg_price": 205.8, "last_price": 205.8, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T09:32:59.506254+00:00"}, {"symbol": "RMV_CFD.UK", "qty": 0.0, "avg_price": 424.3, "last_price": 416.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "SGE_CFD.UK", "qty": 0.0, "avg_price": 795.4, "last_price": 813.4, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 64.97022198159178, "avg_price": 92.35, "last_price": 92.35, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "UMG_CFD.NL", "qty": 0.0, "avg_price": 19.085, "last_price": 18.665, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "WIZZ_CFD.UK", "qty": 2.3094688221709005, "avg_price": 1299.0, "last_price": 1299.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T17:57:28.313088+00:00"}, {"symbol": "WPP_CFD.UK", "qty": 0.0, "avg_price": 272.0, "last_price": 262.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+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": "WPP_CFD.UK", "mean_reversion_score": 85, "selection_reason": "Strong negative 1d move (-8.45%) with large distance from MA200 (-33.1%)"}, {"symbol": "DLN_CFD.UK", "mean_reversion_score": 78, "selection_reason": "Negative 1d change (-7.22%) and MA50 divergence (+4.05%)"}, {"symbol": "UKW_CFD.UK", "mean_reversion_score": 72, "selection_reason": "Negative 1d performance (-5.91%) with significant distance from MA200 (-17.6%)"}, {"symbol": "PAGE_CFD.UK", "mean_reversion_score": 68, "selection_reason": "Large distance from both MA50 (-10.07%) and MA200 (-20.78%)"}, {"symbol": "GRG_CFD.UK", "mean_reversion_score": 65, "selection_reason": "Consistent negative distance from MA50 (-5.2%) and MA200 (-7.75%)"}], "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": "Highest mean-reversion score (85) with strong negative move (-8.45%)",
"symbol": "WPP_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "Minor price movement (+0.9%)",
"symbol": "ADP_CFD.FR"
},
{
"reason": "Small gain (+0.9%) below threshold",
"symbol": "AKAM_CFD.US"
},
{
"reason": "No price movement",
"symbol": "BYIT_CFD.UK"
},
{
"reason": "Recent purchase with +1.9% gain",
"symbol": "CABO_CFD.US"
},
{
"reason": "Small gain (+1.1%) below threshold",
"symbol": "EXE_CFD.FR"
},
{
"reason": "Significant gain (+3.4%) but holding for momentum",
"symbol": "FUTR_CFD.UK"
},
{
"reason": "No price movement",
"symbol": "HMSO_CFD.UK"
},
{
"reason": "No price movement",
"symbol": "UKW_CFD.UK"
}
],
"sell": [
{
"reason": "Profit-taking after +8% gain",
"symbol": "LIO_CFD.UK"
}
]
},
"portfolio_rationale": "Selling LIO_CFD.UK to lock in profits after exceeding 8% gain. Holding most positions due to minor price changes or recent purchases. Buying WPP_CFD.UK as top candidate with extreme negative deviation (-33.1%) from MA200 and highest score. Maintaining max 2 actions per run as required."
}Selection logs
#339 • stage1 • 2026-02-28T22:05:43.108000+00:00
{
"selected_stocks": [
{
"symbol": "WPP_CFD.UK",
"selection_reason": "Strong negative 1d move (-8.45%) with large distance from MA200 (-33.1%)",
"mean_reversion_score": 85
},
{
"symbol": "DLN_CFD.UK",
"selection_reason": "Negative 1d change (-7.22%) and MA50 divergence (+4.05%)",
"mean_reversion_score": 78
},
{
"symbol": "UKW_CFD.UK",
"selection_reason": "Negative 1d performance (-5.91%) with significant distance from MA200 (-17.6%)",
"mean_reversion_score": 72
},
{
"symbol": "PAGE_CFD.UK",
"selection_reason": "Large distance from both MA50 (-10.07%) and MA200 (-20.78%)",
"mean_reversion_score": 68
},
{
"symbol": "GRG_CFD.UK",
"selection_reason": "Consistent negative distance from MA50 (-5.2%) and MA200 (-7.75%)",
"mean_reversion_score": 65
}
],
"rejected_common_reasons": [
"Missing key technical indicators",
"Positive 1-day price movement",
"Extreme volatility outliers",
"Insufficient mean reversion signal strength"
]
}