Arena run #258
meanrev-v1 • x-ai • x-ai/grok-4.1-fast • EU • success
Run status
as_of: 2026-02-23T10:32:09.961595+00:00
started_at: 2026-02-23T15:24:53.284712+00:00
finished_at: 2026-02-23T15:25:50.726225+00:00
duration_ms: 57440
Inputs
{
"dry_run": false,
"selected": [
{
"symbol": "BIG_CFD.FR",
"selection_reason": "1d chg -40.65%, dist_ma200 -57.48%, dist_ma50 -45.84%",
"mean_reversion_score": 100
},
{
"symbol": "OCDO_CFD.UK",
"selection_reason": "1d chg -21.31%, dist_ma200 -14.07%, dist_ma50 -3.18%",
"mean_reversion_score": 98
},
{
"symbol": "ARCAD_CFD.NL",
"selection_reason": "1d chg -16.26%, dist_ma200 -33.61%, dist_ma50 -29.79%",
"mean_reversion_score": 95
},
{
"symbol": "FUTR_CFD.UK",
"selection_reason": "1d chg -13.70%, dist_ma200 -38.12%, dist_ma50 -25.14%",
"mean_reversion_score": 92
},
{
"symbol": "UKW_CFD.UK",
"selection_reason": "1d chg -2.16%, dist_ma200 -12.47%, dist_ma50 -6.85%",
"mean_reversion_score": 85
}
],
"universe_symbols": [
"UKW_CFD.UK",
"FUTR_CFD.UK",
"BIG_CFD.FR",
"RCO_CFD.FR",
"HOT_CFD.DE",
"LIO_CFD.UK",
"BRNL_CFD.NL",
"GLPG_CFD.NL",
"ATG_CFD.UK",
"EXA_CFD.FR",
"BYIT_CFD.UK",
"WKP_CFD.UK",
"PZC_CFD.UK",
"HO_CFD.FR",
"OPM_CFD.FR",
"FCNCA_CFD.US",
"OCDO_CFD.UK",
"ARCAD_CFD.NL",
"RBT_CFD.FR",
"BTRW_CFD.UK",
"BESI_CFD.NL",
"SMHN_CFD.DE",
"HMSO_CFD.UK",
"ESTC_CFD.US",
"ASML_CFD.NL",
"ZS_CFD.US",
"AALB_CFD.NL"
]
}Outputs
{
"actions": {
"buy": [
{
"reason": "Mean-reversion score 85, oversold (1d -2.16%, dist_ma200 -12.47%), clear improvement over sold position.",
"symbol": "UKW_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "High mean-reversion score (95), oversold (1d -16%), hold for rebound despite small loss.",
"symbol": "ARCAD_CFD.NL"
},
{
"reason": "Top mean-reversion score (100), extremely oversold (1d -40.65%), hold.",
"symbol": "BIG_CFD.FR"
},
{
"reason": "Negligible loss (-4), no strong signal, marginal change prefers hold.",
"symbol": "BXP_CFD.US"
},
{
"reason": "High mean-reversion score (92), profitable (+172), recent drop but hold for reversion.",
"symbol": "FUTR_CFD.UK"
},
{
"reason": "Flat PnL, no clear signal to trade, hold.",
"symbol": "NET_CFD.US"
},
{
"reason": "High mean-reversion score (98), oversold (1d -21%), hold.",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "Flat PnL, stable, hold.",
"symbol": "RMV_CFD.UK"
},
{
"reason": "Flat PnL, stable, hold.",
"symbol": "THG_CFD.UK"
},
{
"reason": "Flat PnL, no clear signal, hold.",
"symbol": "ZS_CFD.US"
}
],
"sell": [
{
"reason": "Significant unrealized loss (-136.61, ~4.8% drawdown) and not among top mean-reversion candidates, indicating weak reversion potential.",
"symbol": "ESTC_CFD.US"
}
]
},
"portfolio_rationale": "Portfolio at max 10 positions and leverage. Sold underperformer ESTC lacking reversion signal to rotate into oversold UKW. Holding top candidates (BIG, OCDO, ARCAD, FUTR) and stable/flat positions. Limits to 1 sell/1 buy avoids overtrading; no marginal changes warrant more action."
}Prompts & responses
#503 • openrouter • x-ai/grok-4.1-fast • 2026-02-23T15:24:53.311023+00:00
System prompt
You are an Arena strategy executor. You must follow the strategy rules strictly and output ONLY valid JSON. You are NOT allowed to invent prices, fundamentals, earnings dates, or sentiment. If a field is null/empty, treat it as unknown. You are a constrained selector (no narrative).
User prompt
{"task": "stage1_universe_scan", "region": "EU", "strategy": {"key": "meanrev-v1", "name": "Two-Stage LLM Mean-Reversion (Arena v1)", "rules": {"max_positions": 10, "max_buys_per_run": 2, "avoid_overtrading": true, "max_sells_per_run": 2, "max_gross_leverage": 3.0, "fixed_position_size": 3000.0, "universe_symbols_eu": [], "universe_symbols_us": []}}, "selection_rules": {"horizon": "2-10 trading days", "target": "short-term mean reversion in liquid equities", "constraints": ["Select exactly 5 candidates", "Avoid earnings within 5 trading days (if known)", "Avoid highly binary/event-driven moves (if known)", "Avoid sector concentration: max 1 per sector unless clearly justified (sector may be unknown)"]}, "universe": [{"symbol": "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": "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": "BIG_CFD.FR", "name": "Bigben Interactive", "sector": "", "last_price": 0.473, "change_1d_pct": -40.65244667503137, "distance_from_ma200_pct": -57.481044006670004, "distance_from_ma50_pct": -45.84258856396987, "volatility_20d_pct": 245.7660340614924, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "RCO_CFD.FR", "name": "Remy Cointreau SA", "sector": "", "last_price": 44.46, "change_1d_pct": 2.39520958083832, "distance_from_ma200_pct": -3.2796592729049445, "distance_from_ma50_pct": 10.645677004214793, "volatility_20d_pct": 86.69304047565859, "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": "HOT_CFD.DE", "name": "HOCHTIEF AG", "sector": "", "last_price": 398.6, "change_1d_pct": -2.447381302006857, "distance_from_ma200_pct": 58.05159262356643, "distance_from_ma50_pct": 11.57058011999239, "volatility_20d_pct": 4685.701433158062, "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": "BRNL_CFD.NL", "name": "Brunel International", "sector": "", "last_price": 7.29, "change_1d_pct": 9.459459459459453, "distance_from_ma200_pct": -18.088599146503427, "distance_from_ma50_pct": -6.739092055808138, "volatility_20d_pct": 70.09638475078242, "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": "GLPG_CFD.NL", "name": "", "sector": "", "last_price": 27.9, "change_1d_pct": -1.2738853503184822, "distance_from_ma200_pct": 2.349620801991814, "distance_from_ma50_pct": -1.303221972237556, "volatility_20d_pct": 75.74925360349539, "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": 308.0, "change_1d_pct": 0.8183306055646433, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 0.788638371674466, "volatility_20d_pct": 4266.048570157822, "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": "EXA_CFD.FR", "name": "Exail Technologies SA", "sector": "", "last_price": 119.4, "change_1d_pct": -3.0844155844155785, "distance_from_ma200_pct": 27.051593268478857, "distance_from_ma50_pct": 16.46458013640988, "volatility_20d_pct": 4642.965535142968, "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": 296.8, "change_1d_pct": 0.33806626098715764, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -11.728666769768846, "volatility_20d_pct": 3915.770802621436, "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": "PZC_CFD.UK", "name": "PZ CUSSONS PLC", "sector": "", "last_price": 88.8, "change_1d_pct": -1.442841287458374, "distance_from_ma200_pct": 17.468164209381708, "distance_from_ma50_pct": 17.734408145948244, "volatility_20d_pct": 83.4578314576364, "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": "HO_CFD.FR", "name": "", "sector": "", "last_price": 254.4, "change_1d_pct": -3.490136570561464, "distance_from_ma200_pct": 3.535507642753899, "distance_from_ma50_pct": 2.0365435217142958, "volatility_20d_pct": 55.662032611698024, "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": "OPM_CFD.FR", "name": "", "sector": "", "last_price": 16.501, "change_1d_pct": -2.7063679245282968, "distance_from_ma200_pct": 19.71720881369976, "distance_from_ma50_pct": 1.4485981882993215, "volatility_20d_pct": 53.97744690192678, "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": "FCNCA_CFD.US", "name": "First Citizens BancShares Inc", "sector": "", "last_price": 2062.21, "change_1d_pct": 2.9771445977459177, "distance_from_ma200_pct": 5.907751416577356, "distance_from_ma50_pct": -2.1858617088771015, "volatility_20d_pct": 72.5049794337677, "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": "ARCAD_CFD.NL", "name": "Arcadis", "sector": "", "last_price": 29.14, "change_1d_pct": -16.26436781609194, "distance_from_ma200_pct": -33.61450347680939, "distance_from_ma50_pct": -29.785264351010067, "volatility_20d_pct": 177.66442273009648, "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": "RBT_CFD.FR", "name": "", "sector": "", "last_price": 864.0, "change_1d_pct": 0.7971608799685503, "distance_from_ma200_pct": 2.4201022590039756, "distance_from_ma50_pct": -1.1206101957010772, "volatility_20d_pct": 40.43977142028838, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BTRW_CFD.UK", "name": "Barratt Redrow Plc", "sector": "", "last_price": 388.9, "change_1d_pct": -1.0432569974554773, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 2.643553171947066, "volatility_20d_pct": 2256.25743018361, "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": "BESI_CFD.NL", "name": "BE SEMICONDUCTOR INDUSTRIES", "sector": "", "last_price": 173.0, "change_1d_pct": -7.486631016042777, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 10.073997722168148, "volatility_20d_pct": 4491.334001117135, "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": "SMHN_CFD.DE", "name": "SUSS MicroTec SE", "sector": "", "last_price": 49.396, "change_1d_pct": -0.11122120887342435, "distance_from_ma200_pct": 32.297384143035245, "distance_from_ma50_pct": 9.351022182787737, "volatility_20d_pct": 88.78036776367544, "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": "HAMMERSON PLC", "sector": "", "last_price": 348.8, "change_1d_pct": -1.8570624648283518, "distance_from_ma200_pct": 20.24082637989966, "distance_from_ma50_pct": 7.964017771966869, "volatility_20d_pct": 3280.1806241206145, "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": "ESTC_CFD.US", "name": "Elastic NV", "sector": "", "last_price": 58.12, "change_1d_pct": -6.348694811472777, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -17.911459628031, "volatility_20d_pct": 5992.432493755186, "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": "ASML_CFD.NL", "name": "ASML HOLDING NV", "sector": "", "last_price": 1238.2, "change_1d_pct": -0.530205655526983, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 14.613821945219009, "volatility_20d_pct": 3327.489164148393, "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": "ZS_CFD.US", "name": "Zscaler Inc", "sector": "", "last_price": 159.75, "change_1d_pct": -5.467779158530095, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -23.608710185074933, "volatility_20d_pct": 5347.360864637588, "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": "AALB_CFD.NL", "name": "Aalberts", "sector": "", "last_price": 34.92, "change_1d_pct": 1.041666666666674, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 15.641392465426819, "volatility_20d_pct": 3530.057506339397, "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": "BIG_CFD.FR",
"selection_reason": "1d chg -40.65%, dist_ma200 -57.48%, dist_ma50 -45.84%",
"mean_reversion_score": 100
},
{
"symbol": "OCDO_CFD.UK",
"selection_reason": "1d chg -21.31%, dist_ma200 -14.07%, dist_ma50 -3.18%",
"mean_reversion_score": 98
},
{
"symbol": "ARCAD_CFD.NL",
"selection_reason": "1d chg -16.26%, dist_ma200 -33.61%, dist_ma50 -29.79%",
"mean_reversion_score": 95
},
{
"symbol": "FUTR_CFD.UK",
"selection_reason": "1d chg -13.70%, dist_ma200 -38.12%, dist_ma50 -25.14%",
"mean_reversion_score": 92
},
{
"symbol": "UKW_CFD.UK",
"selection_reason": "1d chg -2.16%, dist_ma200 -12.47%, dist_ma50 -6.85%",
"mean_reversion_score": 85
}
],
"rejected_common_reasons": [
"positive 1d change",
"above MA50",
"above MA200",
"insufficient MA deviation"
]
}#504 • openrouter • x-ai/grok-4.1-fast • 2026-02-23T15:25:16.534904+00:00
System prompt
You are an Arena portfolio manager. You must follow the strategy rules strictly and output ONLY valid JSON. You are NOT allowed to invent prices/fundamentals/news/earnings. If a field is null/empty, treat it as unknown. Avoid overtrading: if changes are marginal, prefer HOLD. Do not churn.
User prompt
{"task": "stage2_portfolio_management", "region": "EU", "strategy": {"key": "meanrev-v1", "name": "Two-Stage LLM Mean-Reversion (Arena v1)", "rules": {"max_positions": 10, "max_buys_per_run": 2, "avoid_overtrading": true, "max_sells_per_run": 2, "max_gross_leverage": 3.0, "fixed_position_size": 3000.0, "universe_symbols_eu": [], "universe_symbols_us": []}}, "portfolio_constraints": {"initial_equity": 10000.0, "max_positions": 10, "fixed_position_size": 3000.0, "max_gross_leverage": 3.0, "overtrading_rules": ["Max 2 SELL actions per run unless risk event forces more", "Max 2 BUY actions per run", "If no clear improvement vs current holdings, output HOLD for everything"]}, "current_portfolio": [{"symbol": "ARCAD_CFD.NL", "qty": 101.01010101010101, "avg_price": 29.7, "last_price": 29.26, "unrealized_pnl": -44.444444444444215, "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": 60.75, "unrealized_pnl": -4.1916659817539665, "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": "ESTC_CFD.US", "qty": 51.64844624257554, "avg_price": 58.085, "last_price": 55.44, "unrealized_pnl": -136.61014031161247, "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": 423.6, "unrealized_pnl": 172.24163754368448, "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": 176.96, "unrealized_pnl": 0.0, "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": "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": 424.3, "unrealized_pnl": 0.0, "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": "ZS_CFD.US", "qty": 18.778167250876315, "avg_price": 159.76, "last_price": 159.76, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}], "candidates": [{"symbol": "BIG_CFD.FR", "mean_reversion_score": 100, "selection_reason": "1d chg -40.65%, dist_ma200 -57.48%, dist_ma50 -45.84%"}, {"symbol": "OCDO_CFD.UK", "mean_reversion_score": 98, "selection_reason": "1d chg -21.31%, dist_ma200 -14.07%, dist_ma50 -3.18%"}, {"symbol": "ARCAD_CFD.NL", "mean_reversion_score": 95, "selection_reason": "1d chg -16.26%, dist_ma200 -33.61%, dist_ma50 -29.79%"}, {"symbol": "FUTR_CFD.UK", "mean_reversion_score": 92, "selection_reason": "1d chg -13.70%, dist_ma200 -38.12%, dist_ma50 -25.14%"}, {"symbol": "UKW_CFD.UK", "mean_reversion_score": 85, "selection_reason": "1d chg -2.16%, dist_ma200 -12.47%, dist_ma50 -6.85%"}], "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": "Mean-reversion score 85, oversold (1d -2.16%, dist_ma200 -12.47%), clear improvement over sold position.",
"symbol": "UKW_CFD.UK",
"position_size": 3000
}
],
"hold": [
{
"reason": "High mean-reversion score (95), oversold (1d -16%), hold for rebound despite small loss.",
"symbol": "ARCAD_CFD.NL"
},
{
"reason": "Top mean-reversion score (100), extremely oversold (1d -40.65%), hold.",
"symbol": "BIG_CFD.FR"
},
{
"reason": "Negligible loss (-4), no strong signal, marginal change prefers hold.",
"symbol": "BXP_CFD.US"
},
{
"reason": "High mean-reversion score (92), profitable (+172), recent drop but hold for reversion.",
"symbol": "FUTR_CFD.UK"
},
{
"reason": "Flat PnL, no clear signal to trade, hold.",
"symbol": "NET_CFD.US"
},
{
"reason": "High mean-reversion score (98), oversold (1d -21%), hold.",
"symbol": "OCDO_CFD.UK"
},
{
"reason": "Flat PnL, stable, hold.",
"symbol": "RMV_CFD.UK"
},
{
"reason": "Flat PnL, stable, hold.",
"symbol": "THG_CFD.UK"
},
{
"reason": "Flat PnL, no clear signal, hold.",
"symbol": "ZS_CFD.US"
}
],
"sell": [
{
"reason": "Significant unrealized loss (-136.61, ~4.8% drawdown) and not among top mean-reversion candidates, indicating weak reversion potential.",
"symbol": "ESTC_CFD.US"
}
]
},
"portfolio_rationale": "Portfolio at max 10 positions and leverage. Sold underperformer ESTC lacking reversion signal to rotate into oversold UKW. Holding top candidates (BIG, OCDO, ARCAD, FUTR) and stable/flat positions. Limits to 1 sell/1 buy avoids overtrading; no marginal changes warrant more action."
}Selection logs
#250 • stage1 • 2026-02-23T15:25:16.532401+00:00
{
"selected_stocks": [
{
"symbol": "BIG_CFD.FR",
"selection_reason": "1d chg -40.65%, dist_ma200 -57.48%, dist_ma50 -45.84%",
"mean_reversion_score": 100
},
{
"symbol": "OCDO_CFD.UK",
"selection_reason": "1d chg -21.31%, dist_ma200 -14.07%, dist_ma50 -3.18%",
"mean_reversion_score": 98
},
{
"symbol": "ARCAD_CFD.NL",
"selection_reason": "1d chg -16.26%, dist_ma200 -33.61%, dist_ma50 -29.79%",
"mean_reversion_score": 95
},
{
"symbol": "FUTR_CFD.UK",
"selection_reason": "1d chg -13.70%, dist_ma200 -38.12%, dist_ma50 -25.14%",
"mean_reversion_score": 92
},
{
"symbol": "UKW_CFD.UK",
"selection_reason": "1d chg -2.16%, dist_ma200 -12.47%, dist_ma50 -6.85%",
"mean_reversion_score": 85
}
],
"rejected_common_reasons": [
"positive 1d change",
"above MA50",
"above MA200",
"insufficient MA deviation"
]
}