Arena run #142
meanrev-v1 • mistralai • mistralai/mistral-large-2512 • US • success
Run status
as_of: 2026-02-16T17:30:52.485845+00:00
started_at: 2026-02-16T17:31:17.215752+00:00
finished_at: 2026-02-16T17:31:33.886749+00:00
duration_ms: 16667
Inputs
{
"dry_run": false,
"selected": [
{
"symbol": "OCDO_CFD.UK",
"selection_reason": "Large 1-day drop (-21.3%), near-term oversold vs MA50 (-3.2%), high volatility (241%)",
"mean_reversion_score": 90
},
{
"symbol": "TRST_CFD.UK",
"selection_reason": "Extreme 1-day drop (-37.8%), deeply oversold vs MA50 (-24.6%), high volatility (213%)",
"mean_reversion_score": 85
},
{
"symbol": "SGE_CFD.UK",
"selection_reason": "Large 1-day drop (-18.9%), oversold vs MA50 (-21.9%), high volatility (97%)",
"mean_reversion_score": 80
},
{
"symbol": "TRN_CFD.UK",
"selection_reason": "Large 1-day drop (-20.0%), oversold vs MA50 (-16.9%), high volatility (127%)",
"mean_reversion_score": 75
},
{
"symbol": "FBIN_CFD.US",
"selection_reason": "Large 1-day drop (-18.7%), oversold vs MA50 (-5.7%), high volatility (131%)",
"mean_reversion_score": 70
}
],
"universe_symbols": [
"DSY_CFD.FR",
"STJ_CFD.UK",
"ADJ_CFD.DE",
"WPP_CFD.UK",
"LIO_CFD.UK",
"ASHM_CFD.UK",
"AGFB_CFD.BE",
"ATG_CFD.UK",
"BDT_CFD.DE",
"RIVN_CFD.US",
"BYIT_CFD.UK",
"ITV_CFD.UK",
"SGE_CFD.UK",
"WKP_CFD.UK",
"IWG_CFD.UK",
"BLDR_CFD.US",
"OPTU_CFD.US",
"OCDO_CFD.UK",
"VCT_CFD.UK",
"STZ_CFD.US",
"FBIN_CFD.US",
"PNN_CFD.UK",
"OTIS_CFD.US",
"LSS_CFD.FR",
"MSLH_CFD.UK",
"PAGE_CFD.UK",
"TRN_CFD.UK",
"TTEK_CFD.US",
"TESB_CFD.BE",
"NCLH_CFD.US",
"RMV_CFD.UK",
"MLCO_CFD.US",
"NBA_CFD.PT",
"IPO_CFD.UK",
"BT_CFD.UK",
"TRST_CFD.UK",
"BRBY_CFD.UK",
"J_CFD.US",
"WEW_CFD.DE",
"EXPO_CFD.US",
"CCL_CFD.UK",
"ROL_CFD.US",
"SLG_CFD.US",
"THG_CFD.UK",
"BWA_CFD.US",
"TUI1_CFD.DE",
"STM_CFD.DE",
"VNO_CFD.US",
"AAD_CFD.DE",
"DOM_CFD.UK"
]
}Outputs
{
"actions": {
"buy": [
{
"reason": "Highest mean-reversion score (90) with large 1-day drop (-21.3%) and oversold vs MA50 (-3.2%).",
"symbol": "OCDO_CFD.UK",
"position_size": 3000
},
{
"reason": "Second-highest mean-reversion score (85) with extreme 1-day drop (-37.8%) and deeply oversold vs MA50 (-24.6%).",
"symbol": "TRST_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "No new mean-reversion signal or adverse price action; marginal changes do not justify churn.",
"symbol": "ACM_CFD.US"
},
{
"reason": "No new mean-reversion signal or adverse price action; marginal changes do not justify churn.",
"symbol": "BYIT_CFD.UK"
},
{
"reason": "Already held and present in candidates with mean-reversion score of 75, but prefer higher-scoring candidates for new buys.",
"symbol": "TRN_CFD.UK"
}
],
"sell": [
{
"reason": "Negative unrealized PnL (-189.42) with no clear mean-reversion signal in candidates, prefer to reallocate capital to stronger candidates.",
"symbol": "DSY_CFD.FR"
}
]
},
"portfolio_rationale": "Reallocated capital from underperforming DSY_CFD.FR to stronger mean-reversion candidates OCDO_CFD.UK and TRST_CFD.UK. Held existing positions with no clear adverse signals to avoid overtrading. Portfolio remains within max positions (10) and gross leverage (3.0) constraints."
}Prompts & responses
#272 • openrouter • mistralai/mistral-large-2512 • 2026-02-16T17:31:17.277717+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": "DSY_CFD.FR", "name": "Dassault Systemes SA", "sector": "", "last_price": 17.881, "change_1d_pct": -1.6554834451655398, "distance_from_ma200_pct": -34.637393069757884, "distance_from_ma50_pct": -22.617996627925898, "volatility_20d_pct": 136.7518220483471, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "STJ_CFD.UK", "name": "", "sector": "", "last_price": 1259.5, "change_1d_pct": -16.31229235880398, "distance_from_ma200_pct": 3.984805916838674, "distance_from_ma50_pct": -8.856288619388774, "volatility_20d_pct": 114.10557212783831, "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": "ADJ_CFD.DE", "name": "ADLER GROUP SA", "sector": "", "last_price": 0.191, "change_1d_pct": 2.6881720430107503, "distance_from_ma200_pct": -10.353890922744768, "distance_from_ma50_pct": -2.2217671751817214, "volatility_20d_pct": 297.6392875048661, "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": "WPP_CFD.UK", "name": "WPP PLC", "sector": "", "last_price": 272.0, "change_1d_pct": -10.231023102310232, "distance_from_ma200_pct": -32.943328113842504, "distance_from_ma50_pct": -12.38287652170328, "volatility_20d_pct": 136.48646172830206, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "LIO_CFD.UK", "name": "LIONTRUST ASSET MANAGEMENT", "sector": "", "last_price": 259.0, "change_1d_pct": 0.19342359767891004, "distance_from_ma200_pct": -20.670350849922237, "distance_from_ma50_pct": -0.35817197640911624, "volatility_20d_pct": 128.03912578370827, "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": "ASHM_CFD.UK", "name": "ASHMORE GROUP PLC", "sector": "", "last_price": 248.6, "change_1d_pct": 1.6353229762878119, "distance_from_ma200_pct": 43.336936936936944, "distance_from_ma50_pct": 28.576053821956805, "volatility_20d_pct": 132.08268219135377, "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": "AGFB_CFD.BE", "name": "Agfa-Gevaert", "sector": "", "last_price": 0.507, "change_1d_pct": 5.625000000000013, "distance_from_ma200_pct": -39.187122543345666, "distance_from_ma50_pct": 2.106577516413588, "volatility_20d_pct": 106.32952329819774, "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": 305.0, "change_1d_pct": 4.2735042735042805, "distance_from_ma200_pct": -30.344980756373573, "distance_from_ma50_pct": -1.1704016694101371, "volatility_20d_pct": 159.9931345477538, "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": "BDT_CFD.DE", "name": "Bertrandt AG", "sector": "", "last_price": 18.5, "change_1d_pct": 1.5367727771679496, "distance_from_ma200_pct": -4.301443211829781, "distance_from_ma50_pct": -0.5046832714490357, "volatility_20d_pct": 91.66308663622284, "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": "RIVN_CFD.US", "name": "Rivian Automotive Inc", "sector": "", "last_price": 18.26, "change_1d_pct": 18.88020833333335, "distance_from_ma200_pct": 22.82483671561275, "distance_from_ma50_pct": 3.91531982699751, "volatility_20d_pct": 153.53412458433212, "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": 300.4, "change_1d_pct": -12.674418604651173, "distance_from_ma200_pct": -28.03446775272175, "distance_from_ma50_pct": -14.34777426817815, "volatility_20d_pct": 87.82535981934274, "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": "ITV_CFD.UK", "name": "", "sector": "", "last_price": 80.6, "change_1d_pct": -2.657004830917875, "distance_from_ma200_pct": 1.4023976760482837, "distance_from_ma50_pct": -0.796337095523536, "volatility_20d_pct": 119.19143766975564, "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": "SGE_CFD.UK", "name": "SAGE GROUP PLC/THE", "sector": "", "last_price": 816.0, "change_1d_pct": -18.926974664679584, "distance_from_ma200_pct": -28.943492486558032, "distance_from_ma50_pct": -21.93884022927787, "volatility_20d_pct": 97.21523749339018, "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": "IWG_CFD.UK", "name": "IWG PLC", "sector": "", "last_price": 218.2, "change_1d_pct": -9.535655058043114, "distance_from_ma200_pct": 1.984252733991232, "distance_from_ma50_pct": -5.940978179341505, "volatility_20d_pct": 100.77698811367367, "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": "BLDR_CFD.US", "name": "Builders FirstSource Inc", "sector": "", "last_price": 117.9, "change_1d_pct": -8.08450923832541, "distance_from_ma200_pct": -1.8894804552860633, "distance_from_ma50_pct": 3.194748358862154, "volatility_20d_pct": 85.68629405896507, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "OPTU_CFD.US", "name": "", "sector": "", "last_price": 1.72, "change_1d_pct": 1.775147928994092, "distance_from_ma200_pct": -21.297673248072478, "distance_from_ma50_pct": -1.2742509470784036, "volatility_20d_pct": 104.11768008264282, "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": 221.9, "change_1d_pct": -21.312056737588648, "distance_from_ma200_pct": -14.06664037160078, "distance_from_ma50_pct": -3.1767959417158487, "volatility_20d_pct": 240.9598068877464, "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": 715.0, "change_1d_pct": 3.6231884057970953, "distance_from_ma200_pct": -0.7960320632774298, "distance_from_ma50_pct": 9.464801325213035, "volatility_20d_pct": 117.87186245902022, "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": "STZ_CFD.US", "name": "", "sector": "", "last_price": 152.25, "change_1d_pct": -8.624414836154127, "distance_from_ma200_pct": -2.127041350280401, "distance_from_ma50_pct": 1.26290977391601, "volatility_20d_pct": 67.6167122408588, "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": "FBIN_CFD.US", "name": "Fortune Brands Innovations Inc.", "sector": "", "last_price": 51.94, "change_1d_pct": -18.704022538738464, "distance_from_ma200_pct": -3.2804392416247996, "distance_from_ma50_pct": -5.654551068969916, "volatility_20d_pct": 131.23832110718317, "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": "PNN_CFD.UK", "name": "PENNON GROUP PLC", "sector": "", "last_price": 555.5, "change_1d_pct": 7.728110152235046, "distance_from_ma200_pct": 15.15330418465657, "distance_from_ma50_pct": 10.049118953291236, "volatility_20d_pct": 59.72600720990832, "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": "OTIS_CFD.US", "name": "", "sector": "", "last_price": 91.27, "change_1d_pct": 0.7395143487858746, "distance_from_ma200_pct": -0.08713776524472694, "distance_from_ma50_pct": 2.963108364525735, "volatility_20d_pct": 51.95612379513085, "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": "LSS_CFD.FR", "name": "Lectra SA", "sector": "", "last_price": 20.15, "change_1d_pct": -12.958963282937363, "distance_from_ma200_pct": -14.836424651368219, "distance_from_ma50_pct": -13.37372167127241, "volatility_20d_pct": 99.79045439070741, "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": "", "sector": "", "last_price": 182.32, "change_1d_pct": 0.8407079646017612, "distance_from_ma200_pct": -17.111863069088763, "distance_from_ma50_pct": 6.139091576985178, "volatility_20d_pct": 102.4204512350097, "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": "", "sector": "", "last_price": 209.6, "change_1d_pct": -10.960067969413767, "distance_from_ma200_pct": -19.313052268665963, "distance_from_ma50_pct": -8.41066281665177, "volatility_20d_pct": 112.6882126676479, "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": "TRN_CFD.UK", "name": "TRAINLINE PLC", "sector": "", "last_price": 199.8, "change_1d_pct": -20.016012810248196, "distance_from_ma200_pct": -25.35041032988915, "distance_from_ma50_pct": -16.85476299862173, "volatility_20d_pct": 127.36929363239284, "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": "TTEK_CFD.US", "name": "", "sector": "", "last_price": 37.35, "change_1d_pct": -12.303357595679742, "distance_from_ma200_pct": 5.585277426376534, "distance_from_ma50_pct": 3.307499543621484, "volatility_20d_pct": 78.55173395917791, "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": "TESB_CFD.BE", "name": "", "sector": "", "last_price": 27.9, "change_1d_pct": -0.8880994671403242, "distance_from_ma200_pct": 10.85937071611973, "distance_from_ma50_pct": 6.0245505737106075, "volatility_20d_pct": 68.02212120498183, "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": "NCLH_CFD.US", "name": "", "sector": "", "last_price": 21.87, "change_1d_pct": -8.98876404494382, "distance_from_ma200_pct": 0.394785163422684, "distance_from_ma50_pct": -0.732590756828877, "volatility_20d_pct": 114.13453997322678, "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": "RMV_CFD.UK", "name": "", "sector": "", "last_price": 431.4, "change_1d_pct": -14.810426540284361, "distance_from_ma200_pct": -37.284210035093366, "distance_from_ma50_pct": -17.526388114623416, "volatility_20d_pct": 137.79982108268825, "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": "MLCO_CFD.US", "name": "", "sector": "", "last_price": 5.6, "change_1d_pct": -11.251980982567355, "distance_from_ma200_pct": -28.984478035913565, "distance_from_ma50_pct": -21.29525522824376, "volatility_20d_pct": 102.89345949241407, "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": "NBA_CFD.PT", "name": "", "sector": "", "last_price": 9.35, "change_1d_pct": 0.0, "distance_from_ma200_pct": 10.964938046554229, "distance_from_ma50_pct": 3.0303030303030276, "volatility_20d_pct": 97.57816744330586, "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": "", "sector": "", "last_price": 58.6, "change_1d_pct": 0.5145797598627766, "distance_from_ma200_pct": 12.529572618060026, "distance_from_ma50_pct": -0.45525582659509123, "volatility_20d_pct": 90.16825025482643, "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": "BT_CFD.UK", "name": "", "sector": "", "last_price": 211.1, "change_1d_pct": 10.033880635913484, "distance_from_ma200_pct": 11.36159997763273, "distance_from_ma50_pct": 12.718442039974187, "volatility_20d_pct": 86.16223699430938, "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": "TRST_CFD.UK", "name": "TRUSTPILOT AS", "sector": "", "last_price": 136.36, "change_1d_pct": -37.848678213309014, "distance_from_ma200_pct": -36.800807370149315, "distance_from_ma50_pct": -24.62483776319949, "volatility_20d_pct": 213.49310525124298, "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": 1197.5, "change_1d_pct": 8.715388107126643, "distance_from_ma200_pct": 2.0140990726002617, "distance_from_ma50_pct": -3.0270932988684773, "volatility_20d_pct": 115.22363659190145, "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": "J_CFD.US", "name": "", "sector": "", "last_price": 134.62, "change_1d_pct": -11.165368879503756, "distance_from_ma200_pct": -4.1219649513149275, "distance_from_ma50_pct": -2.308259458580797, "volatility_20d_pct": 71.60679701028992, "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": "WEW_CFD.DE", "name": "", "sector": "", "last_price": 16.9, "change_1d_pct": 0.5952380952380931, "distance_from_ma200_pct": 51.86929535342859, "distance_from_ma50_pct": 27.431567740057684, "volatility_20d_pct": 85.63410294988286, "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": "EXPO_CFD.US", "name": "Exponent Inc", "sector": "", "last_price": 67.79, "change_1d_pct": -11.743262596016136, "distance_from_ma200_pct": -6.418653320384616, "distance_from_ma50_pct": -7.0707901518890175, "volatility_20d_pct": 92.11453378932266, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CCL_CFD.UK", "name": "CARNIVAL PLC", "sector": "", "last_price": 2419.0, "change_1d_pct": 3.1556503198294283, "distance_from_ma200_pct": 29.618391987129257, "distance_from_ma50_pct": 17.778633621783047, "volatility_20d_pct": 140.95176391789954, "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": "ROL_CFD.US", "name": "", "sector": "", "last_price": 58.99, "change_1d_pct": -9.09231006318385, "distance_from_ma200_pct": 1.258478616677694, "distance_from_ma50_pct": -3.9263332073849133, "volatility_20d_pct": 83.28245881827783, "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": "SLG_CFD.US", "name": "", "sector": "", "last_price": 41.01, "change_1d_pct": -4.9374130737134925, "distance_from_ma200_pct": -24.119351508176468, "distance_from_ma50_pct": -9.030815506242062, "volatility_20d_pct": 79.18887615180597, "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": "", "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": "BWA_CFD.US", "name": "BorgWarner Inc", "sector": "", "last_price": 63.55, "change_1d_pct": 18.144636549544522, "distance_from_ma200_pct": 54.4331174590831, "distance_from_ma50_pct": 32.506255212677225, "volatility_20d_pct": 113.21748549891599, "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": "TUI1_CFD.DE", "name": "", "sector": "", "last_price": 8.534, "change_1d_pct": -0.04684937924571697, "distance_from_ma200_pct": 7.146713405768912, "distance_from_ma50_pct": -3.794557301648127, "volatility_20d_pct": 80.23995626589594, "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": "STM_CFD.DE", "name": "", "sector": "", "last_price": 20.529, "change_1d_pct": -2.2428571428571464, "distance_from_ma200_pct": -11.037017423813344, "distance_from_ma50_pct": 3.2009434825404526, "volatility_20d_pct": 70.92498526556909, "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": "VNO_CFD.US", "name": "", "sector": "", "last_price": 30.29, "change_1d_pct": -5.99006828057107, "distance_from_ma200_pct": -18.47303136863837, "distance_from_ma50_pct": -8.35597456114342, "volatility_20d_pct": 69.4164862413663, "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": "AAD_CFD.DE", "name": "AMADEUS FIRE AG", "sector": "", "last_price": 33.65, "change_1d_pct": -6.397774687065382, "distance_from_ma200_pct": -42.05025009665467, "distance_from_ma50_pct": -17.03738914074897, "volatility_20d_pct": 59.72214573060599, "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": 202.0, "change_1d_pct": 8.58463688652369, "distance_from_ma200_pct": -7.069225606016771, "distance_from_ma50_pct": 12.253653245130858, "volatility_20d_pct": 71.7523831897994, "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": "OCDO_CFD.UK",
"selection_reason": "Large 1-day drop (-21.3%), near-term oversold vs MA50 (-3.2%), high volatility (241%)",
"mean_reversion_score": 90
},
{
"symbol": "TRST_CFD.UK",
"selection_reason": "Extreme 1-day drop (-37.8%), deeply oversold vs MA50 (-24.6%), high volatility (213%)",
"mean_reversion_score": 85
},
{
"symbol": "SGE_CFD.UK",
"selection_reason": "Large 1-day drop (-18.9%), oversold vs MA50 (-21.9%), high volatility (97%)",
"mean_reversion_score": 80
},
{
"symbol": "TRN_CFD.UK",
"selection_reason": "Large 1-day drop (-20.0%), oversold vs MA50 (-16.9%), high volatility (127%)",
"mean_reversion_score": 75
},
{
"symbol": "FBIN_CFD.US",
"selection_reason": "Large 1-day drop (-18.7%), oversold vs MA50 (-5.7%), high volatility (131%)",
"mean_reversion_score": 70
}
],
"rejected_common_reasons": [
"Earnings date unknown (cannot confirm avoidance of earnings within 5 days)",
"Sector concentration (only one stock per sector selected unless clearly justified)"
]
}#273 • openrouter • mistralai/mistral-large-2512 • 2026-02-16T17:31:26.952733+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": "ACM_CFD.US", "qty": 33.92897534494458, "avg_price": 88.42, "last_price": 88.42, "unrealized_pnl": 0.0, "opened_at": "2026-02-15T10:57:15.913854+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-15T10:57:15.913854+00:00"}, {"symbol": "DSY_CFD.FR", "qty": 167.77585146244618, "avg_price": 17.881, "last_price": 16.752, "unrealized_pnl": -189.41893630110198, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "TRN_CFD.UK", "qty": 15.290519877675841, "avg_price": 196.2, "last_price": 196.2, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}], "candidates": [{"symbol": "OCDO_CFD.UK", "mean_reversion_score": 90, "selection_reason": "Large 1-day drop (-21.3%), near-term oversold vs MA50 (-3.2%), high volatility (241%)"}, {"symbol": "TRST_CFD.UK", "mean_reversion_score": 85, "selection_reason": "Extreme 1-day drop (-37.8%), deeply oversold vs MA50 (-24.6%), high volatility (213%)"}, {"symbol": "SGE_CFD.UK", "mean_reversion_score": 80, "selection_reason": "Large 1-day drop (-18.9%), oversold vs MA50 (-21.9%), high volatility (97%)"}, {"symbol": "TRN_CFD.UK", "mean_reversion_score": 75, "selection_reason": "Large 1-day drop (-20.0%), oversold vs MA50 (-16.9%), high volatility (127%)"}, {"symbol": "FBIN_CFD.US", "mean_reversion_score": 70, "selection_reason": "Large 1-day drop (-18.7%), oversold vs MA50 (-5.7%), high volatility (131%)"}], "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 (90) with large 1-day drop (-21.3%) and oversold vs MA50 (-3.2%).",
"symbol": "OCDO_CFD.UK",
"position_size": 3000
},
{
"reason": "Second-highest mean-reversion score (85) with extreme 1-day drop (-37.8%) and deeply oversold vs MA50 (-24.6%).",
"symbol": "TRST_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "No new mean-reversion signal or adverse price action; marginal changes do not justify churn.",
"symbol": "ACM_CFD.US"
},
{
"reason": "No new mean-reversion signal or adverse price action; marginal changes do not justify churn.",
"symbol": "BYIT_CFD.UK"
},
{
"reason": "Already held and present in candidates with mean-reversion score of 75, but prefer higher-scoring candidates for new buys.",
"symbol": "TRN_CFD.UK"
}
],
"sell": [
{
"reason": "Negative unrealized PnL (-189.42) with no clear mean-reversion signal in candidates, prefer to reallocate capital to stronger candidates.",
"symbol": "DSY_CFD.FR"
}
]
},
"portfolio_rationale": "Reallocated capital from underperforming DSY_CFD.FR to stronger mean-reversion candidates OCDO_CFD.UK and TRST_CFD.UK. Held existing positions with no clear adverse signals to avoid overtrading. Portfolio remains within max positions (10) and gross leverage (3.0) constraints."
}Selection logs
#135 • stage1 • 2026-02-16T17:31:26.944348+00:00
{
"selected_stocks": [
{
"symbol": "OCDO_CFD.UK",
"selection_reason": "Large 1-day drop (-21.3%), near-term oversold vs MA50 (-3.2%), high volatility (241%)",
"mean_reversion_score": 90
},
{
"symbol": "TRST_CFD.UK",
"selection_reason": "Extreme 1-day drop (-37.8%), deeply oversold vs MA50 (-24.6%), high volatility (213%)",
"mean_reversion_score": 85
},
{
"symbol": "SGE_CFD.UK",
"selection_reason": "Large 1-day drop (-18.9%), oversold vs MA50 (-21.9%), high volatility (97%)",
"mean_reversion_score": 80
},
{
"symbol": "TRN_CFD.UK",
"selection_reason": "Large 1-day drop (-20.0%), oversold vs MA50 (-16.9%), high volatility (127%)",
"mean_reversion_score": 75
},
{
"symbol": "FBIN_CFD.US",
"selection_reason": "Large 1-day drop (-18.7%), oversold vs MA50 (-5.7%), high volatility (131%)",
"mean_reversion_score": 70
}
],
"rejected_common_reasons": [
"Earnings date unknown (cannot confirm avoidance of earnings within 5 days)",
"Sector concentration (only one stock per sector selected unless clearly justified)"
]
}