Arena run #164
meanrev-v1 • z-ai • z-ai/glm-4.7 • US • success
Run status
as_of: 2026-02-19T00:47:27.070066+00:00
started_at: 2026-02-19T00:48:43.602728+00:00
finished_at: 2026-02-19T00:49:43.718747+00:00
duration_ms: 60114
Inputs
{
"dry_run": false,
"selected": [
{
"symbol": "FUTR_CFD.UK",
"selection_reason": "Price -13.7% vs -25.1% from MA50; high volatility suggests mean reversion potential.",
"mean_reversion_score": 85
},
{
"symbol": "BYIT_CFD.UK",
"selection_reason": "Price -12.7% vs -14.3% from MA50; extended below MA200 (-28%).",
"mean_reversion_score": 82
},
{
"symbol": "RMV_CFD.UK",
"selection_reason": "Price -14.8% vs -17.5% from MA50; deeply oversold vs MA200 (-37.3%).",
"mean_reversion_score": 80
},
{
"symbol": "TRST_CFD.UK",
"selection_reason": "Price -37.8% vs -24.6% from MA50; extreme drop with high volatility.",
"mean_reversion_score": 78
},
{
"symbol": "TMV_CFD.DE",
"selection_reason": "Price -6.2% vs -14.7% from MA50; significantly below MA200 (-39.3%).",
"mean_reversion_score": 75
}
],
"universe_symbols": [
"FUTR_CFD.UK",
"ADJ_CFD.DE",
"LIO_CFD.UK",
"ATG_CFD.UK",
"BDT_CFD.DE",
"BT_CFD.UK",
"BYIT_CFD.UK",
"WKP_CFD.UK",
"UMG_CFD.NL",
"OCDO_CFD.UK",
"CLH_CFD.US",
"HBR_CFD.UK",
"FLO_CFD.US",
"WEIR_CFD.UK",
"PNN_CFD.UK",
"ETSY_CFD.US",
"BNZL_CFD.UK",
"HMSO_CFD.UK",
"MSLH_CFD.UK",
"PAGE_CFD.UK",
"AMCX_CFD.US",
"IHG_CFD.UK",
"RMV_CFD.UK",
"IPO_CFD.UK",
"TRST_CFD.UK",
"GRI_CFD.UK",
"CCL_CFD.UK",
"THG_CFD.UK",
"MDM_CFD.FR",
"DOM_CFD.UK",
"NWE_CFD.US",
"MPT_CFD.US",
"CCC_CFD.UK",
"OPTU_CFD.US",
"FME_CFD.DE",
"BKH_CFD.US",
"DPLM_CFD.UK",
"LEG_CFD.US",
"LPX_CFD.US",
"MAN_CFD.US",
"TMV_CFD.DE",
"VXXB_CFD.ETF",
"SSE_CFD.UK",
"OGS_CFD.US",
"RS1_CFD.UK",
"AT1_CFD.DE",
"XRX_CFD.US",
"TBCG_CFD.UK",
"BOKF_CFD.US",
"NOMD_CFD.US"
]
}Outputs
{
"actions": {
"buy": [
{
"reason": "Highest mean reversion score (85) with significant deviation from MA50 (-13.7% vs -25.1%).",
"symbol": "FUTR_CFD.UK",
"position_size": 3000
},
{
"reason": "Second highest mean reversion score (82) with extended move below MA200 (-28%).",
"symbol": "BYIT_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "High mean reversion score (78) and currently at breakeven. Retaining position as it remains a strong candidate.",
"symbol": "TRST_CFD.UK"
}
],
"sell": [
{
"reason": "Underperforming position with unrealized loss; not listed in top mean reversion candidates. Selling to free up capital for higher-scoring opportunities.",
"symbol": "OCDO_CFD.UK"
}
]
},
"portfolio_rationale": "Rotating out of OCDO (which is underperforming and not a top candidate) to allocate capital to the two highest-scoring mean reversion candidates, FUTR and BYIT. TRST is held as it maintains a high score and is flat. Total gross exposure remains within leverage limits."
}Prompts & responses
#315 • openrouter • z-ai/glm-4.7 • 2026-02-19T00:48:43.696355+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": "FUTR_CFD.UK", "name": "FUTURE PLC", "sector": "", "last_price": 422.0, "change_1d_pct": -13.70143149284253, "distance_from_ma200_pct": -38.122509366851766, "distance_from_ma50_pct": -25.139370269544393, "volatility_20d_pct": 146.49494054552733, "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.2, "change_1d_pct": 7.526881720430123, "distance_from_ma200_pct": -5.966430015515534, "distance_from_ma50_pct": 2.7326895418122055, "volatility_20d_pct": 311.6321860192083, "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": "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.571, "change_1d_pct": 1.1492374727668953, "distance_from_ma200_pct": -3.8907902111545822, "distance_from_ma50_pct": -0.12283638022053678, "volatility_20d_pct": 97.18981583912894, "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": 209.7, "change_1d_pct": 3.35140463282404, "distance_from_ma200_pct": 10.419039464933654, "distance_from_ma50_pct": 11.273956800022077, "volatility_20d_pct": 86.28451509255954, "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": "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": "UMG_CFD.NL", "name": "", "sector": "", "last_price": 19.57, "change_1d_pct": -0.45778229908443047, "distance_from_ma200_pct": -23.106512607270734, "distance_from_ma50_pct": -14.353136417028889, "volatility_20d_pct": 78.39967448985196, "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": "CLH_CFD.US", "name": "Clean Harbors Inc", "sector": "", "last_price": 282.68, "change_1d_pct": 5.924232772510951, "distance_from_ma200_pct": 19.788162931055496, "distance_from_ma50_pct": 11.934743011008164, "volatility_20d_pct": 54.53779134386277, "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": "HBR_CFD.UK", "name": "", "sector": "", "last_price": 224.0, "change_1d_pct": -1.5817223198594021, "distance_from_ma200_pct": 9.25712713749498, "distance_from_ma50_pct": 6.344190568789498, "volatility_20d_pct": 121.81714824955505, "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": "FLO_CFD.US", "name": "", "sector": "", "last_price": 10.08, "change_1d_pct": -13.550600343053176, "distance_from_ma200_pct": -26.247859870933755, "distance_from_ma50_pct": -7.983860661274722, "volatility_20d_pct": 89.84040924651786, "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": "WEIR_CFD.UK", "name": "", "sector": "", "last_price": 3528.0, "change_1d_pct": 28.104575163398682, "distance_from_ma200_pct": 36.82019549853024, "distance_from_ma50_pct": 18.81825945664355, "volatility_20d_pct": 85.98797128417365, "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": "ETSY_CFD.US", "name": "Etsy, Inc.", "sector": "", "last_price": 45.05, "change_1d_pct": -4.736730809896383, "distance_from_ma200_pct": -22.534006367515534, "distance_from_ma50_pct": -19.214271368318382, "volatility_20d_pct": 100.53604696211289, "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": "BNZL_CFD.UK", "name": "BUNZL PLC", "sector": "", "last_price": 2150.0, "change_1d_pct": 3.2660902977905915, "distance_from_ma200_pct": -8.89817576647831, "distance_from_ma50_pct": 0.7743217653786383, "volatility_20d_pct": 67.68662202659726, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "HMSO_CFD.UK", "name": "", "sector": "", "last_price": 355.4, "change_1d_pct": 14.129736673089276, "distance_from_ma200_pct": 22.516025502913806, "distance_from_ma50_pct": 10.006914897239172, "volatility_20d_pct": 87.54938293511039, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "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": "PAGEGROUP PLC", "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": "AMCX_CFD.US", "name": "AMC Networks Inc", "sector": "", "last_price": 8.83, "change_1d_pct": 20.136054421768712, "distance_from_ma200_pct": 17.9692718770875, "distance_from_ma50_pct": 1.639117823104197, "volatility_20d_pct": 96.48066850500462, "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": "IHG_CFD.UK", "name": "", "sector": "", "last_price": 144.25, "change_1d_pct": 1.1216263582194186, "distance_from_ma200_pct": -98.11701487032192, "distance_from_ma50_pct": -96.80246670021214, "volatility_20d_pct": 600.119439684226, "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": "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": "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": "GRI_CFD.UK", "name": "", "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": "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": "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": "MDM_CFD.FR", "name": "", "sector": "", "last_price": 1.45, "change_1d_pct": -2.684563758389269, "distance_from_ma200_pct": -29.938829350315523, "distance_from_ma50_pct": -17.472025862559626, "volatility_20d_pct": 78.69145518801585, "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"}, {"symbol": "NWE_CFD.US", "name": "", "sector": "", "last_price": 69.35, "change_1d_pct": 1.122776319626717, "distance_from_ma200_pct": 16.511248333603533, "distance_from_ma50_pct": 3.879257401865188, "volatility_20d_pct": 48.81632674937871, "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": "MPT_CFD.US", "name": "", "sector": "", "last_price": 5.42, "change_1d_pct": -4.745166959578196, "distance_from_ma200_pct": 11.542142144202172, "distance_from_ma50_pct": 3.5339063992358977, "volatility_20d_pct": 61.24361337038149, "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": "CCC_CFD.UK", "name": "COMPUTACENTER PLC", "sector": "", "last_price": 2960.0, "change_1d_pct": -10.789632308619645, "distance_from_ma200_pct": 17.038340831266787, "distance_from_ma50_pct": 2.2104670976909713, "volatility_20d_pct": 92.6737083098957, "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.6, "change_1d_pct": -3.0303030303030165, "distance_from_ma200_pct": -26.487479898920274, "distance_from_ma50_pct": -7.535829865926946, "volatility_20d_pct": 103.86164938143123, "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": "FME_CFD.DE", "name": "", "sector": "", "last_price": 40.818, "change_1d_pct": -0.0538687561214668, "distance_from_ma200_pct": -7.105280795556412, "distance_from_ma50_pct": 3.713965126820784, "volatility_20d_pct": 35.43744786221902, "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": "BKH_CFD.US", "name": "", "sector": "", "last_price": 74.06, "change_1d_pct": 1.8566909641039908, "distance_from_ma200_pct": 16.55961837191111, "distance_from_ma50_pct": 3.5882430281447775, "volatility_20d_pct": 46.0532888421459, "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": "DPLM_CFD.UK", "name": "DIPLOMA PLC", "sector": "", "last_price": 5450.0, "change_1d_pct": -2.066486972147352, "distance_from_ma200_pct": 10.794115706218555, "distance_from_ma50_pct": -0.20332519590636755, "volatility_20d_pct": 61.180379080220206, "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": "LEG_CFD.US", "name": "", "sector": "", "last_price": 11.89, "change_1d_pct": 3.4812880765883403, "distance_from_ma200_pct": 19.11738923535453, "distance_from_ma50_pct": 0.8550198486750649, "volatility_20d_pct": 70.5337217331953, "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": "LPX_CFD.US", "name": "LOUISIANA-PACIFIC CORP", "sector": "", "last_price": 87.47, "change_1d_pct": -8.16797900262467, "distance_from_ma200_pct": -1.8245018971205673, "distance_from_ma50_pct": -0.55481025034676, "volatility_20d_pct": 68.57109478700374, "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": "MAN_CFD.US", "name": "", "sector": "", "last_price": 29.82, "change_1d_pct": 1.1533242876526462, "distance_from_ma200_pct": -18.412574641413403, "distance_from_ma50_pct": -3.074822856399917, "volatility_20d_pct": 110.1219007608683, "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": "TMV_CFD.DE", "name": "", "sector": "", "last_price": 4.836, "change_1d_pct": -6.169965075669371, "distance_from_ma200_pct": -39.297706090940466, "distance_from_ma50_pct": -14.730049017879177, "volatility_20d_pct": 85.73079178879432, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "VXXB_CFD.ETF", "name": "", "sector": "", "last_price": 28.55, "change_1d_pct": 1.0619469026548645, "distance_from_ma200_pct": -25.219985515464792, "distance_from_ma50_pct": 3.2983095982401345, "volatility_20d_pct": 130.93027926050186, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SSE_CFD.UK", "name": "", "sector": "", "last_price": 2646.0, "change_1d_pct": 6.350482315112549, "distance_from_ma200_pct": 35.63520874725097, "distance_from_ma50_pct": 14.187745367714744, "volatility_20d_pct": 86.55479719136787, "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": "OGS_CFD.US", "name": "", "sector": "", "last_price": 84.92, "change_1d_pct": 0.5446365143263243, "distance_from_ma200_pct": 9.79960150450796, "distance_from_ma50_pct": 7.429756980024549, "volatility_20d_pct": 39.74011900469647, "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": "RS1_CFD.UK", "name": "", "sector": "", "last_price": 733.5, "change_1d_pct": 25.384615384615383, "distance_from_ma200_pct": 27.719246802948703, "distance_from_ma50_pct": 25.132468113824658, "volatility_20d_pct": 102.39099316712235, "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": "AT1_CFD.DE", "name": "AROUNDTOWN SA", "sector": "", "last_price": 2.928, "change_1d_pct": 3.4263511126810364, "distance_from_ma200_pct": -2.5317445918932924, "distance_from_ma50_pct": 8.34572944650429, "volatility_20d_pct": 99.01246920856556, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "XRX_CFD.US", "name": "", "sector": "", "last_price": 1.99, "change_1d_pct": 3.645833333333326, "distance_from_ma200_pct": -47.453196377175146, "distance_from_ma50_pct": -17.42053282430076, "volatility_20d_pct": 185.0831002678523, "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": "TBCG_CFD.UK", "name": "", "sector": "", "last_price": 4277.25, "change_1d_pct": 5.3509852216748754, "distance_from_ma200_pct": -2.902585578893835, "distance_from_ma50_pct": 4.642406639572627, "volatility_20d_pct": 82.97991484214538, "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": "BOKF_CFD.US", "name": "BOK Financial Corporation", "sector": "", "last_price": 134.74, "change_1d_pct": 0.9893569180033035, "distance_from_ma200_pct": 22.619380760296593, "distance_from_ma50_pct": 6.9908524965061725, "volatility_20d_pct": 49.39242101967042, "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": "NOMD_CFD.US", "name": "", "sector": "", "last_price": 12.69, "change_1d_pct": -1.0140405616224757, "distance_from_ma200_pct": -12.161390466499844, "distance_from_ma50_pct": 2.5189445961448342, "volatility_20d_pct": 45.8556068662229, "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": "Price -13.7% vs -25.1% from MA50; high volatility suggests mean reversion potential.",
"mean_reversion_score": 85
},
{
"symbol": "BYIT_CFD.UK",
"selection_reason": "Price -12.7% vs -14.3% from MA50; extended below MA200 (-28%).",
"mean_reversion_score": 82
},
{
"symbol": "RMV_CFD.UK",
"selection_reason": "Price -14.8% vs -17.5% from MA50; deeply oversold vs MA200 (-37.3%).",
"mean_reversion_score": 80
},
{
"symbol": "TRST_CFD.UK",
"selection_reason": "Price -37.8% vs -24.6% from MA50; extreme drop with high volatility.",
"mean_reversion_score": 78
},
{
"symbol": "TMV_CFD.DE",
"selection_reason": "Price -6.2% vs -14.7% from MA50; significantly below MA200 (-39.3%).",
"mean_reversion_score": 75
}
],
"rejected_common_reasons": [
"Insufficient price distance from moving averages.",
"Positive momentum or trading above MA50.",
"Low volatility indicating lack of reversion energy.",
"Region mismatch (US requested, EU/UK symbols excluded)."
]
}#316 • openrouter • z-ai/glm-4.7 • 2026-02-19T00:49:12.076410+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": "OCDO_CFD.UK", "qty": 13.519603424966201, "avg_price": 221.9, "last_price": 217.0, "unrealized_pnl": -66.24605678233446, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "TRST_CFD.UK", "qty": 22.338049143708115, "avg_price": 134.3, "last_price": 134.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}], "candidates": [{"symbol": "FUTR_CFD.UK", "mean_reversion_score": 85, "selection_reason": "Price -13.7% vs -25.1% from MA50; high volatility suggests mean reversion potential."}, {"symbol": "BYIT_CFD.UK", "mean_reversion_score": 82, "selection_reason": "Price -12.7% vs -14.3% from MA50; extended below MA200 (-28%)."}, {"symbol": "RMV_CFD.UK", "mean_reversion_score": 80, "selection_reason": "Price -14.8% vs -17.5% from MA50; deeply oversold vs MA200 (-37.3%)."}, {"symbol": "TRST_CFD.UK", "mean_reversion_score": 78, "selection_reason": "Price -37.8% vs -24.6% from MA50; extreme drop with high volatility."}, {"symbol": "TMV_CFD.DE", "mean_reversion_score": 75, "selection_reason": "Price -6.2% vs -14.7% from MA50; significantly below MA200 (-39.3%)."}], "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 significant deviation from MA50 (-13.7% vs -25.1%).",
"symbol": "FUTR_CFD.UK",
"position_size": 3000
},
{
"reason": "Second highest mean reversion score (82) with extended move below MA200 (-28%).",
"symbol": "BYIT_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "High mean reversion score (78) and currently at breakeven. Retaining position as it remains a strong candidate.",
"symbol": "TRST_CFD.UK"
}
],
"sell": [
{
"reason": "Underperforming position with unrealized loss; not listed in top mean reversion candidates. Selling to free up capital for higher-scoring opportunities.",
"symbol": "OCDO_CFD.UK"
}
]
},
"portfolio_rationale": "Rotating out of OCDO (which is underperforming and not a top candidate) to allocate capital to the two highest-scoring mean reversion candidates, FUTR and BYIT. TRST is held as it maintains a high score and is flat. Total gross exposure remains within leverage limits."
}Selection logs
#156 • stage1 • 2026-02-19T00:49:12.071856+00:00
{
"selected_stocks": [
{
"symbol": "FUTR_CFD.UK",
"selection_reason": "Price -13.7% vs -25.1% from MA50; high volatility suggests mean reversion potential.",
"mean_reversion_score": 85
},
{
"symbol": "BYIT_CFD.UK",
"selection_reason": "Price -12.7% vs -14.3% from MA50; extended below MA200 (-28%).",
"mean_reversion_score": 82
},
{
"symbol": "RMV_CFD.UK",
"selection_reason": "Price -14.8% vs -17.5% from MA50; deeply oversold vs MA200 (-37.3%).",
"mean_reversion_score": 80
},
{
"symbol": "TRST_CFD.UK",
"selection_reason": "Price -37.8% vs -24.6% from MA50; extreme drop with high volatility.",
"mean_reversion_score": 78
},
{
"symbol": "TMV_CFD.DE",
"selection_reason": "Price -6.2% vs -14.7% from MA50; significantly below MA200 (-39.3%).",
"mean_reversion_score": 75
}
],
"rejected_common_reasons": [
"Insufficient price distance from moving averages.",
"Positive momentum or trading above MA50.",
"Low volatility indicating lack of reversion energy.",
"Region mismatch (US requested, EU/UK symbols excluded)."
]
}