Arena run #288
meanrev-v1 • x-ai • x-ai/grok-4.1-fast • US • success
Run status
as_of: 2026-02-24T18:14:37.115518+00:00
started_at: 2026-02-24T18:25:15.073138+00:00
finished_at: 2026-02-24T18:26:01.133733+00:00
duration_ms: 46059
Inputs
{
"dry_run": false,
"selected": [
{
"symbol": "CRWD_CFD.US",
"selection_reason": "-16.7% 1d drop, -21.9% below MA50",
"mean_reversion_score": 98
},
{
"symbol": "FICO_CFD.US",
"selection_reason": "-11.6% 1d drop, -23.0% below MA50",
"mean_reversion_score": 96
},
{
"symbol": "CABO_CFD.US",
"selection_reason": "-15.5% 1d drop, -8.3% below MA50, -29.5% below MA200",
"mean_reversion_score": 94
},
{
"symbol": "AMCX_CFD.US",
"selection_reason": "-12.9% 1d drop, -11.6% below MA50",
"mean_reversion_score": 92
},
{
"symbol": "DT_CFD.US",
"selection_reason": "-6.3% 1d drop, -15.0% below MA50",
"mean_reversion_score": 90
}
],
"universe_symbols": [
"WIZZ_CFD.UK",
"UKW_CFD.UK",
"IEP_CFD.BE",
"IPR_CFD.PT",
"TCAP_CFD.UK",
"IPO_CFD.UK",
"ATG_CFD.UK",
"BRBY_CFD.UK",
"BYIT_CFD.UK",
"WKP_CFD.UK",
"TBCG_CFD.UK",
"FUTR_CFD.UK",
"EXM_CFD.BE",
"AGFB_CFD.BE",
"FME_CFD.DE",
"MSLH_CFD.UK",
"INF_CFD.UK",
"TKA_CFD.DE",
"AMCX_CFD.US",
"DCC_CFD.UK",
"EXPD_CFD.US",
"THG_CFD.UK",
"TFI_CFD.FR",
"DBAN_CFD.DE",
"MCG_CFD.UK",
"GDS_CFD.FR",
"AFX_CFD.DE",
"KEYS_CFD.US",
"KOF_CFD.FR",
"COV_CFD.FR",
"CRST_CFD.UK",
"DEQ_CFD.DE",
"AWI_CFD.US",
"FND_CFD.US",
"ATE_CFD.FR",
"CABO_CFD.US",
"HYQ_CFD.DE",
"FICO_CFD.US",
"ARG_CFD.FR",
"VOD_CFD.UK",
"SVS_CFD.UK",
"CRWD_CFD.US",
"MERY_CFD.FR",
"BYW6_CFD.DE",
"EXE_CFD.FR",
"DT_CFD.US",
"FTNT_CFD.US",
"BRNK_CFD.DE",
"ENX_CFD.FR",
"AAD_CFD.DE"
]
}Outputs
{
"actions": {
"buy": [
{
"reason": "High MR score 96: -11.6% 1d drop, -23.0% below MA50, strong oversold signal.",
"symbol": "FICO_CFD.US",
"position_size": 3000
},
{
"reason": "High MR score 94: -15.5% 1d drop, -8.3% below MA50, -29.5% below MA200, oversold.",
"symbol": "CABO_CFD.US",
"position_size": 3000
}
],
"hold": [
{
"reason": "Flat PnL, stable hold.",
"symbol": "BIG_CFD.FR"
},
{
"reason": "Top MR candidate (score 98, -16.7% 1d, -21.9% below MA50), small loss but strong signal, retain.",
"symbol": "CRWD_CFD.US"
},
{
"reason": "Profitable (+$102), hold winner.",
"symbol": "FUTR_CFD.UK"
},
{
"reason": "Flat PnL, stable.",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "Small profit (+$25), stable hold.",
"symbol": "OKTA_CFD.US"
},
{
"reason": "Minor loss (-$50), smaller than sold positions, monitor.",
"symbol": "RMV_CFD.UK"
},
{
"reason": "Flat PnL, stable.",
"symbol": "THG_CFD.UK"
},
{
"reason": "Flat PnL, stable.",
"symbol": "UKW_CFD.UK"
}
],
"sell": [
{
"reason": "Largest unrealized loss (-$214, -7.7%), significantly underwater (164.32 vs 176.96 avg), not reverting, replace with high MR score candidate.",
"symbol": "NET_CFD.US"
},
{
"reason": "Unrealized loss (-$71, -2.4%), underwater (59.39 vs 60.84 avg), poor performance vs new oversold opportunities.",
"symbol": "BXP_CFD.US"
}
]
},
"portfolio_rationale": "Max 10 positions at 3x leverage maintained. Replace 2 worst US losers (NET, BXP total -$285 PnL) with top new US MR candidates (FICO #2, CABO #3) for clear improvement in mean-reversion exposure. Limits to 2 sells/2 buys per rules, avoids overtrading, holds winners/flats."
}Prompts & responses
#563 • openrouter • x-ai/grok-4.1-fast • 2026-02-24T18:25:15.118683+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": "WIZZ_CFD.UK", "name": "", "sector": "", "last_price": 1403.0, "change_1d_pct": 0.8626887131560013, "distance_from_ma200_pct": 12.315696286669354, "distance_from_ma50_pct": 8.235260718145199, "volatility_20d_pct": 106.92938780570063, "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": 98.15, "change_1d_pct": -2.163078149920239, "distance_from_ma200_pct": -12.46829595436757, "distance_from_ma50_pct": -6.845149398930528, "volatility_20d_pct": 32.62462101640031, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IEP_CFD.BE", "name": "", "sector": "", "last_price": 5.45, "change_1d_pct": -0.9090909090909038, "distance_from_ma200_pct": 2.0878367493734284, "distance_from_ma50_pct": 2.20116940640811, "volatility_20d_pct": 165.25821062476646, "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": "IPR_CFD.PT", "name": "Impresa SGPS SA", "sector": "", "last_price": 0.195, "change_1d_pct": 2.0942408376963373, "distance_from_ma200_pct": 28.243069941797394, "distance_from_ma50_pct": -2.0986042775378966, "volatility_20d_pct": 338.3521295968929, "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": "TCAP_CFD.UK", "name": "TP ICAP GROUP PLC", "sector": "", "last_price": 265.0, "change_1d_pct": 7.72357723577235, "distance_from_ma200_pct": -1.0410112189618959, "distance_from_ma50_pct": 3.1700858141521238, "volatility_20d_pct": 67.76567663345816, "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": 57.6, "change_1d_pct": -1.873935264054516, "distance_from_ma200_pct": 10.233643652522883, "distance_from_ma50_pct": -2.027486732888828, "volatility_20d_pct": 89.82123635439407, "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": "BRBY_CFD.UK", "name": "BURBERRY GROUP PLC", "sector": "", "last_price": 1243.0, "change_1d_pct": 3.8854668995662367, "distance_from_ma200_pct": 4.675522092324735, "distance_from_ma50_pct": 0.7093242088362928, "volatility_20d_pct": 118.97494375082623, "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": "TBCG_CFD.UK", "name": "TBC BANK GROUP PLC", "sector": "", "last_price": 4830.0, "change_1d_pct": 23.84615384615385, "distance_from_ma200_pct": 9.48099525523418, "distance_from_ma50_pct": 17.298742557479784, "volatility_20d_pct": 96.41941130859351, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "FUTR_CFD.UK", "name": "FUTURE PLC", "sector": "", "last_price": 414.2, "change_1d_pct": 3.3949076385421773, "distance_from_ma200_pct": -39.06661738447647, "distance_from_ma50_pct": -25.9812840942679, "volatility_20d_pct": 5563.010447162194, "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": "EXM_CFD.BE", "name": "EXMAR NV", "sector": "", "last_price": 10.22, "change_1d_pct": 4.8205128205128345, "distance_from_ma200_pct": -7.878215361262519, "distance_from_ma50_pct": 1.1871169592380326, "volatility_20d_pct": 90.3520552365016, "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.5, "change_1d_pct": -1.5748031496062964, "distance_from_ma200_pct": -39.09791836684978, "distance_from_ma50_pct": 1.7211213736420206, "volatility_20d_pct": 100.80166412577857, "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": 39.097, "change_1d_pct": -4.349847094801218, "distance_from_ma200_pct": -10.617439692719866, "distance_from_ma50_pct": -0.7958256958019438, "volatility_20d_pct": 60.74300651168354, "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": 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": "INF_CFD.UK", "name": "", "sector": "", "last_price": 833.09, "change_1d_pct": -8.491871704745158, "distance_from_ma200_pct": -1.9050501077985782, "distance_from_ma50_pct": -7.516384927398767, "volatility_20d_pct": 80.07288938077471, "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": "TKA_CFD.DE", "name": "", "sector": "", "last_price": 10.467, "change_1d_pct": -6.8025999465764375, "distance_from_ma200_pct": 5.066415586006001, "distance_from_ma50_pct": 0.3499352859402727, "volatility_20d_pct": 96.70542965893932, "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": 7.58, "change_1d_pct": -12.873563218390792, "distance_from_ma200_pct": 0.8139596744161315, "distance_from_ma50_pct": -11.617928268271061, "volatility_20d_pct": 100.44801635007789, "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": "DCC_CFD.UK", "name": "DCC PLC", "sector": "", "last_price": 5190.0, "change_1d_pct": 18.65569272976679, "distance_from_ma200_pct": 7.689940492800584, "distance_from_ma50_pct": 7.8869025965446315, "volatility_20d_pct": 93.98231976370826, "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": "EXPD_CFD.US", "name": "Expeditors International of Washington, Inc.", "sector": "", "last_price": 138.69, "change_1d_pct": -6.587189331178012, "distance_from_ma200_pct": 6.326947889905732, "distance_from_ma50_pct": -10.985113481304253, "volatility_20d_pct": 122.14842245390795, "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": "TFI_CFD.FR", "name": "", "sector": "", "last_price": 7.245, "change_1d_pct": 1.1871508379888374, "distance_from_ma200_pct": -12.952897244769957, "distance_from_ma50_pct": -8.67677755705023, "volatility_20d_pct": 54.614850035934346, "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": "DBAN_CFD.DE", "name": "Deutsche Beteiligungs AG", "sector": "", "last_price": 24.85, "change_1d_pct": -1.3301568393885188, "distance_from_ma200_pct": 0.06253405045488769, "distance_from_ma50_pct": -1.698616264626529, "volatility_20d_pct": 32.1795806595533, "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": "MCG_CFD.UK", "name": "", "sector": "", "last_price": 23.34, "change_1d_pct": -10.437452033768224, "distance_from_ma200_pct": -15.963814753139205, "distance_from_ma50_pct": -0.07192766132346762, "volatility_20d_pct": 137.63902050046556, "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": "GDS_CFD.FR", "name": "", "sector": "", "last_price": 11.0, "change_1d_pct": 3.2863849765258246, "distance_from_ma200_pct": 10.019913604362408, "distance_from_ma50_pct": 14.29260152819598, "volatility_20d_pct": 121.24621505276059, "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": "AFX_CFD.DE", "name": "CARL ZEISS MEDITEC AG - BR", "sector": "", "last_price": 26.73, "change_1d_pct": -0.7057949479940651, "distance_from_ma200_pct": -40.495371027389815, "distance_from_ma50_pct": -21.50983021105134, "volatility_20d_pct": 71.11337644770558, "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": "KEYS_CFD.US", "name": "", "sector": "", "last_price": 244.98, "change_1d_pct": 1.3109466109755497, "distance_from_ma200_pct": 34.55948083263414, "distance_from_ma50_pct": 12.06042425423417, "volatility_20d_pct": 56.85087044399343, "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": "KOF_CFD.FR", "name": "", "sector": "", "last_price": 32.25, "change_1d_pct": 0.5644079952602077, "distance_from_ma200_pct": 5.43355503803209, "distance_from_ma50_pct": 5.520298506290633, "volatility_20d_pct": 44.41416310271644, "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": "COV_CFD.FR", "name": "Covivio SA", "sector": "", "last_price": 61.5, "change_1d_pct": 5.128205128205132, "distance_from_ma200_pct": 11.991350989907934, "distance_from_ma50_pct": 11.93642738966072, "volatility_20d_pct": 63.53757507149298, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CRST_CFD.UK", "name": "CREST NICHOLSON HOLDINGS", "sector": "", "last_price": 169.5, "change_1d_pct": 25.18463810930576, "distance_from_ma200_pct": 2.1353827094136912, "distance_from_ma50_pct": 18.261534511436817, "volatility_20d_pct": 158.5020616154255, "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": "DEQ_CFD.DE", "name": "DEUTSCHE EUROSHOP AG", "sector": "", "last_price": 20.8, "change_1d_pct": -0.4784688995215225, "distance_from_ma200_pct": 8.729374416657777, "distance_from_ma50_pct": 7.7732492287476695, "volatility_20d_pct": 35.44466222330146, "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": "AWI_CFD.US", "name": "Armstrong World Industries Inc", "sector": "", "last_price": 192.04, "change_1d_pct": -3.3469223413357563, "distance_from_ma200_pct": 4.691491553919591, "distance_from_ma50_pct": 0.037818921337673395, "volatility_20d_pct": 44.51318056306861, "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": "FND_CFD.US", "name": "", "sector": "", "last_price": 70.35, "change_1d_pct": 0.41393091635739676, "distance_from_ma200_pct": -3.8057902487649398, "distance_from_ma50_pct": 3.8735149852495043, "volatility_20d_pct": 105.63135782524775, "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": "ATE_CFD.FR", "name": "Alten SA", "sector": "", "last_price": 58.75, "change_1d_pct": -2.327514546965914, "distance_from_ma200_pct": -16.94256461709426, "distance_from_ma50_pct": -17.777130258100037, "volatility_20d_pct": 104.25731447281603, "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": "CABO_CFD.US", "name": "Cable One Inc", "sector": "", "last_price": 95.14, "change_1d_pct": -15.536221590909093, "distance_from_ma200_pct": -29.518381782346324, "distance_from_ma50_pct": -8.262542305875098, "volatility_20d_pct": 135.32200497668128, "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": "HYQ_CFD.DE", "name": "", "sector": "", "last_price": 79.6, "change_1d_pct": -5.798816568047349, "distance_from_ma200_pct": -46.626184818233995, "distance_from_ma50_pct": -26.946057005203173, "volatility_20d_pct": 66.52054456425753, "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": "FICO_CFD.US", "name": "Fair Isaac Corporation", "sector": "", "last_price": 1196.63, "change_1d_pct": -11.582766238852072, "distance_from_ma200_pct": -26.681234469322934, "distance_from_ma50_pct": -23.046668459584176, "volatility_20d_pct": 91.54638539113873, "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": "ARG_CFD.FR", "name": "ARGAN", "sector": "", "last_price": 70.1, "change_1d_pct": 2.936857562408224, "distance_from_ma200_pct": 7.509830017910124, "distance_from_ma50_pct": 6.25314136427213, "volatility_20d_pct": 37.43912245068676, "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": "VOD_CFD.UK", "name": "", "sector": "", "last_price": 117.7, "change_1d_pct": -2.079866888519133, "distance_from_ma200_pct": 31.305919364555223, "distance_from_ma50_pct": 12.151634345651917, "volatility_20d_pct": 62.24933423517881, "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": "SVS_CFD.UK", "name": "", "sector": "", "last_price": 990.32, "change_1d_pct": -1.165668662674646, "distance_from_ma200_pct": 1.6235321812127612, "distance_from_ma50_pct": 0.8572335265771835, "volatility_20d_pct": 74.7645593588131, "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": "CRWD_CFD.US", "name": "Crowdstrike Holdings Inc", "sector": "", "last_price": 350.03, "change_1d_pct": -16.722972972972983, "distance_from_ma200_pct": -25.606446775337133, "distance_from_ma50_pct": -21.928982875363403, "volatility_20d_pct": 112.52864735144198, "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": "MERY_CFD.FR", "name": "", "sector": "", "last_price": 12.14, "change_1d_pct": 1.675041876046901, "distance_from_ma200_pct": 11.65739024303878, "distance_from_ma50_pct": 11.658879364261798, "volatility_20d_pct": 45.15433805502333, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BYW6_CFD.DE", "name": "BayWa AG vNa", "sector": "", "last_price": 2.8970000000000002, "change_1d_pct": -3.8499834052439286, "distance_from_ma200_pct": -56.43360071703345, "distance_from_ma50_pct": -8.138480368841272, "volatility_20d_pct": 115.29465945824376, "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": "EXE_CFD.FR", "name": "Exel Industries SA", "sector": "", "last_price": 37.6, "change_1d_pct": -6.699751861042169, "distance_from_ma200_pct": -1.8435273572661948, "distance_from_ma50_pct": -3.1435083482052706, "volatility_20d_pct": 90.2338838581926, "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": "DT_CFD.US", "name": "Dynatrace Holdings LLC", "sector": "", "last_price": 34.13, "change_1d_pct": -6.339187705817773, "distance_from_ma200_pct": -28.480648598583226, "distance_from_ma50_pct": -15.03905763802107, "volatility_20d_pct": 100.56799470084705, "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": "FTNT_CFD.US", "name": "", "sector": "", "last_price": 75.09, "change_1d_pct": -7.1243042671613965, "distance_from_ma200_pct": -14.678114123845699, "distance_from_ma50_pct": -6.558686719611351, "volatility_20d_pct": 84.29320942808519, "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": "BRNK_CFD.DE", "name": "Branicks Group AG", "sector": "", "last_price": 1.8199999999999998, "change_1d_pct": -2.673796791443861, "distance_from_ma200_pct": -6.1272594575496715, "distance_from_ma50_pct": -2.353181032910201, "volatility_20d_pct": 101.43273967088804, "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": "ENX_CFD.FR", "name": "Euronext NV", "sector": "", "last_price": 131.3, "change_1d_pct": 4.123711340206193, "distance_from_ma200_pct": -1.6736264590055505, "distance_from_ma50_pct": 6.750223988474557, "volatility_20d_pct": 59.49156675124292, "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": 26.35, "change_1d_pct": -7.543859649122798, "distance_from_ma200_pct": -53.49848870088279, "distance_from_ma50_pct": -32.19635934334168, "volatility_20d_pct": 69.39755206168815, "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": "CRWD_CFD.US",
"selection_reason": "-16.7% 1d drop, -21.9% below MA50",
"mean_reversion_score": 98
},
{
"symbol": "FICO_CFD.US",
"selection_reason": "-11.6% 1d drop, -23.0% below MA50",
"mean_reversion_score": 96
},
{
"symbol": "CABO_CFD.US",
"selection_reason": "-15.5% 1d drop, -8.3% below MA50, -29.5% below MA200",
"mean_reversion_score": 94
},
{
"symbol": "AMCX_CFD.US",
"selection_reason": "-12.9% 1d drop, -11.6% below MA50",
"mean_reversion_score": 92
},
{
"symbol": "DT_CFD.US",
"selection_reason": "-6.3% 1d drop, -15.0% below MA50",
"mean_reversion_score": 90
}
],
"rejected_common_reasons": [
"Non-US symbols",
"Insufficient deviation from MA50",
"Minimal 1d price change",
"Proximity to moving averages"
]
}#564 • openrouter • x-ai/grok-4.1-fast • 2026-02-24T18:25:33.939680+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": "ARCAD_CFD.NL", "qty": 0.0, "avg_price": 29.7, "last_price": 28.06, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "BIG_CFD.FR", "qty": 6622.516556291391, "avg_price": 0.453, "last_price": 0.453, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "BXP_CFD.US", "qty": 49.31371743239911, "avg_price": 60.835, "last_price": 59.394999999999996, "unrealized_pnl": -71.01175310265495, "opened_at": "2026-02-22T17:33:48.338981+00:00"}, {"symbol": "COIN_CFD.US", "qty": 0.0, "avg_price": 168.575, "last_price": 171.13, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "CRWD_CFD.US", "qty": 8.551881413911062, "avg_price": 350.79999999999995, "last_price": 349.255, "unrealized_pnl": -13.212656784492241, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "ESTC_CFD.US", "qty": 0.0, "avg_price": 58.085, "last_price": 55.28, "unrealized_pnl": -144.87389171042437, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "EXPO_CFD.US", "qty": 0.0, "avg_price": 66.815, "last_price": 70.025, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "FBIN_CFD.US", "qty": 0.0, "avg_price": 50.974999999999994, "last_price": 54.35, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "FLO_CFD.US", "qty": 0.0, "avg_price": 9.875, "last_price": 10.055, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "FUTR_CFD.UK", "qty": 7.488766849725412, "avg_price": 400.6, "last_price": 414.2, "unrealized_pnl": 101.84722915626534, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "ICG_CFD.UK", "qty": 0.0, "avg_price": 1700.0, "last_price": 1719.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "LMND_CFD.US", "qty": 0.0, "avg_price": 61.5, "last_price": 59.89, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "LPX_CFD.US", "qty": 0.0, "avg_price": 86.45, "last_price": 86.15, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "NET_CFD.US", "qty": 16.952983725135624, "avg_price": 176.96, "last_price": 164.32, "unrealized_pnl": -214.28571428571453, "opened_at": "2026-02-21T17:32:49.140800+00:00"}, {"symbol": "OCDO_CFD.UK", "qty": 13.824884792626728, "avg_price": 217.0, "last_price": 217.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "OKTA_CFD.US", "qty": 42.747221430607006, "avg_price": 70.18, "last_price": 70.76, "unrealized_pnl": 24.79338842975199, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "PAYC_CFD.US", "qty": 0.0, "avg_price": 121.22, "last_price": 119.79, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "RMV_CFD.UK", "qty": 7.070469007777516, "avg_price": 424.3, "last_price": 417.16, "unrealized_pnl": -50.483148715531364, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "THG_CFD.UK", "qty": 85.76329331046313, "avg_price": 34.98, "last_price": 34.98, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "TRN_CFD.UK", "qty": 0.0, "avg_price": 196.2, "last_price": 196.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "TRST_CFD.UK", "qty": 0.0, "avg_price": 134.3, "last_price": 139.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 32.48511099079589, "avg_price": 92.35, "last_price": 92.35, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T10:32:09.961595+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": "CRWD_CFD.US", "mean_reversion_score": 98, "selection_reason": "-16.7% 1d drop, -21.9% below MA50"}, {"symbol": "FICO_CFD.US", "mean_reversion_score": 96, "selection_reason": "-11.6% 1d drop, -23.0% below MA50"}, {"symbol": "CABO_CFD.US", "mean_reversion_score": 94, "selection_reason": "-15.5% 1d drop, -8.3% below MA50, -29.5% below MA200"}, {"symbol": "AMCX_CFD.US", "mean_reversion_score": 92, "selection_reason": "-12.9% 1d drop, -11.6% below MA50"}, {"symbol": "DT_CFD.US", "mean_reversion_score": 90, "selection_reason": "-6.3% 1d drop, -15.0% below MA50"}], "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": "High MR score 96: -11.6% 1d drop, -23.0% below MA50, strong oversold signal.",
"symbol": "FICO_CFD.US",
"position_size": 3000
},
{
"reason": "High MR score 94: -15.5% 1d drop, -8.3% below MA50, -29.5% below MA200, oversold.",
"symbol": "CABO_CFD.US",
"position_size": 3000
}
],
"hold": [
{
"reason": "Flat PnL, stable hold.",
"symbol": "BIG_CFD.FR"
},
{
"reason": "Top MR candidate (score 98, -16.7% 1d, -21.9% below MA50), small loss but strong signal, retain.",
"symbol": "CRWD_CFD.US"
},
{
"reason": "Profitable (+$102), hold winner.",
"symbol": "FUTR_CFD.UK"
},
{
"reason": "Flat PnL, stable.",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "Small profit (+$25), stable hold.",
"symbol": "OKTA_CFD.US"
},
{
"reason": "Minor loss (-$50), smaller than sold positions, monitor.",
"symbol": "RMV_CFD.UK"
},
{
"reason": "Flat PnL, stable.",
"symbol": "THG_CFD.UK"
},
{
"reason": "Flat PnL, stable.",
"symbol": "UKW_CFD.UK"
}
],
"sell": [
{
"reason": "Largest unrealized loss (-$214, -7.7%), significantly underwater (164.32 vs 176.96 avg), not reverting, replace with high MR score candidate.",
"symbol": "NET_CFD.US"
},
{
"reason": "Unrealized loss (-$71, -2.4%), underwater (59.39 vs 60.84 avg), poor performance vs new oversold opportunities.",
"symbol": "BXP_CFD.US"
}
]
},
"portfolio_rationale": "Max 10 positions at 3x leverage maintained. Replace 2 worst US losers (NET, BXP total -$285 PnL) with top new US MR candidates (FICO #2, CABO #3) for clear improvement in mean-reversion exposure. Limits to 2 sells/2 buys per rules, avoids overtrading, holds winners/flats."
}Selection logs
#280 • stage1 • 2026-02-24T18:25:33.937301+00:00
{
"selected_stocks": [
{
"symbol": "CRWD_CFD.US",
"selection_reason": "-16.7% 1d drop, -21.9% below MA50",
"mean_reversion_score": 98
},
{
"symbol": "FICO_CFD.US",
"selection_reason": "-11.6% 1d drop, -23.0% below MA50",
"mean_reversion_score": 96
},
{
"symbol": "CABO_CFD.US",
"selection_reason": "-15.5% 1d drop, -8.3% below MA50, -29.5% below MA200",
"mean_reversion_score": 94
},
{
"symbol": "AMCX_CFD.US",
"selection_reason": "-12.9% 1d drop, -11.6% below MA50",
"mean_reversion_score": 92
},
{
"symbol": "DT_CFD.US",
"selection_reason": "-6.3% 1d drop, -15.0% below MA50",
"mean_reversion_score": 90
}
],
"rejected_common_reasons": [
"Non-US symbols",
"Insufficient deviation from MA50",
"Minimal 1d price change",
"Proximity to moving averages"
]
}