Arena run #308

meanrev-v1x-aix-ai/grok-4.1-fastUSsuccess
Arena
Run status
as_of: 2026-02-25T17:57:28.313088+00:00
started_at: 2026-02-25T19:39:52.006305+00:00
finished_at: 2026-02-25T19:40:28.645143+00:00
duration_ms: 36637
Inputs
{
  "dry_run": false,
  "selected": [
    {
      "symbol": "BIG_CFD.FR",
      "selection_reason": "Extreme deviation below MA50 (-45.8%)",
      "mean_reversion_score": 95
    },
    {
      "symbol": "UKW_CFD.UK",
      "selection_reason": "Far below MA50 (-12.3%) & MA200 (-17.6%), -5.9% 1d change",
      "mean_reversion_score": 92
    },
    {
      "symbol": "BYIT_CFD.UK",
      "selection_reason": "Significant deviation below MA50 (-13.0%)",
      "mean_reversion_score": 88
    },
    {
      "symbol": "CAR_CFD.US",
      "selection_reason": "Below MA50 (-5.9%)",
      "mean_reversion_score": 82
    },
    {
      "symbol": "BRBY_CFD.UK",
      "selection_reason": "Below MA50 (-4.7%), -0.55% 1d change",
      "mean_reversion_score": 78
    }
  ],
  "universe_symbols": [
    "WIZZ_CFD.UK",
    "UKW_CFD.UK",
    "CRDA_CFD.UK",
    "BIG_CFD.FR",
    "ATG_CFD.UK",
    "CCC_CFD.UK",
    "BYIT_CFD.UK",
    "BLND_CFD.UK",
    "CAR_CFD.US",
    "BRBY_CFD.UK",
    "CE_CFD.US",
    "FDX_CFD.US",
    "ABF_CFD.UK",
    "AGFB_CFD.BE"
  ]
}
Outputs
{
  "actions": {
    "buy": [
      {
        "reason": "High mean-reversion score (88), significant deviation below MA50 (-13.0%)",
        "symbol": "BYIT_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "Strong mean-reversion score (82), below MA50 (-5.9%), US region alignment",
        "symbol": "CAR_CFD.US",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Top mean-reversion candidate (score 95), holding flat position",
        "symbol": "BIG_CFD.FR"
      },
      {
        "reason": "Profitable position (+6.3% unrealized PnL), continue holding",
        "symbol": "FICO_CFD.US"
      },
      {
        "reason": "Profitable position (+3.4% unrealized PnL), stable",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "Flat position, no strong sell signal",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "Profitable position (+1.9% unrealized PnL), holding",
        "symbol": "OKTA_CFD.US"
      },
      {
        "reason": "Flat position, no strong sell signal",
        "symbol": "THG_CFD.UK"
      },
      {
        "reason": "High mean-reversion candidate (score 92), holding flat",
        "symbol": "UKW_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Significant unrealized loss (-4.4%), no mean-reversion signal, clear underperformer",
        "symbol": "CABO_CFD.US"
      }
    ]
  },
  "portfolio_rationale": "Sell clear loser CABO to reduce risk (1 sell < max 2). Hold 7 positions including winners and top candidates BIG/UKW. Buy top 2 new candidates BYIT/CAR (scores 88/82) with fixed 3000 size each, adding to 10 max positions without exceeding leverage 3.0 or overtrading rules. Focus on high-deviation mean-reversion opportunities."
}
Prompts & responses
#603openrouterx-ai/grok-4.1-fast2026-02-25T19:39:52.023242+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": "WIZZ AIR HOLDINGS PLC", "sector": "", "last_price": 1299.0, "change_1d_pct": -7.412687099073412, "distance_from_ma200_pct": 3.990085157792933, "distance_from_ma50_pct": 0.21211951024278086, "volatility_20d_pct": 5874.684590366408, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "UKW_CFD.UK", "name": "GREENCOAT UK WIND PLC", "sector": "", "last_price": 92.35, "change_1d_pct": -5.909322465613864, "distance_from_ma200_pct": -17.64082660607077, "distance_from_ma50_pct": -12.349969913308566, "volatility_20d_pct": 2773.983404143022, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CRDA_CFD.UK", "name": "CRODA INTERNATIONAL PLC", "sector": "", "last_price": 3270.0, "change_1d_pct": 18.306801736613608, "distance_from_ma200_pct": 15.315074372668791, "distance_from_ma50_pct": 15.114636224020273, "volatility_20d_pct": 105.57470323224747, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BIG_CFD.FR", "name": "Bigben Interactive", "sector": "", "last_price": 0.462, "change_1d_pct": 0.0, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -45.79246257098606, "volatility_20d_pct": 11712.882237669019, "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": 315.5, "change_1d_pct": -0.15822784810126667, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 2.9598929608719793, "volatility_20d_pct": 4125.199412345139, "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": 2992.0, "change_1d_pct": -2.540716612377847, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -2.946633623541939, "volatility_20d_pct": 3425.126046830974, "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": 290.6, "change_1d_pct": 0.1378359751895264, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -13.036712512419047, "volatility_20d_pct": 3710.24320963922, "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": "BLND_CFD.UK", "name": "BRITISH LAND CO PLC", "sector": "", "last_price": 413.0, "change_1d_pct": 0.0, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 2.3259962538279444, "volatility_20d_pct": 2013.7372429692637, "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": "CAR_CFD.US", "name": "Avis Budget Group Inc", "sector": "", "last_price": 118.35, "change_1d_pct": 1.587982832618029, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -5.933987675643548, "volatility_20d_pct": 4643.814201648793, "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": 1174.5, "change_1d_pct": -0.550381033022862, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -4.69118971687319, "volatility_20d_pct": 4100.463229875871, "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": "CE_CFD.US", "name": "Celanese Corporation", "sector": "", "last_price": 58.85, "change_1d_pct": 0.051003060183618665, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 28.07455092296376, "volatility_20d_pct": 6478.369286492251, "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": "FDX_CFD.US", "name": "FedEx Corporation", "sector": "", "last_price": 386.56, "change_1d_pct": 0.7427484298037745, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 19.68497947520138, "volatility_20d_pct": 2549.069205234816, "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": "ABF_CFD.UK", "name": "ASSOCIATED BRITISH FOODS PLC", "sector": "", "last_price": 1976.5, "change_1d_pct": 0.48296898830706425, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -0.4789045745805742, "volatility_20d_pct": 1983.0157791154838, "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.49, "change_1d_pct": -2.0000000000000018, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -1.505557900661325, "volatility_20d_pct": 2568.590327331217, "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": "Extreme deviation below MA50 (-45.8%)",
      "mean_reversion_score": 95
    },
    {
      "symbol": "UKW_CFD.UK",
      "selection_reason": "Far below MA50 (-12.3%) & MA200 (-17.6%), -5.9% 1d change",
      "mean_reversion_score": 92
    },
    {
      "symbol": "BYIT_CFD.UK",
      "selection_reason": "Significant deviation below MA50 (-13.0%)",
      "mean_reversion_score": 88
    },
    {
      "symbol": "CAR_CFD.US",
      "selection_reason": "Below MA50 (-5.9%)",
      "mean_reversion_score": 82
    },
    {
      "symbol": "BRBY_CFD.UK",
      "selection_reason": "Below MA50 (-4.7%), -0.55% 1d change",
      "mean_reversion_score": 78
    }
  ],
  "rejected_common_reasons": [
    "Above MA50",
    "Recent gains",
    "Limited MA deviation"
  ]
}
#604openrouterx-ai/grok-4.1-fast2026-02-25T19:40:07.987599+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": 0.0, "avg_price": 60.835, "last_price": 59.405, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T17:33:48.338981+00:00"}, {"symbol": "CABO_CFD.US", "qty": 32.13539713994966, "avg_price": 93.35499999999999, "last_price": 89.225, "unrealized_pnl": -132.71919018799196, "opened_at": "2026-02-24T18:14:37.115518+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": 0.0, "avg_price": 350.79999999999995, "last_price": 350.055, "unrealized_pnl": 0.0, "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": "FICO_CFD.US", "qty": 2.4824059478446507, "avg_price": 1208.505, "last_price": 1284.505, "unrealized_pnl": 188.66285203619344, "opened_at": "2026-02-24T18:14:37.115518+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": 0.0, "avg_price": 176.96, "last_price": 164.32, "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": "OKTA_CFD.US", "qty": 42.747221430607006, "avg_price": 70.18, "last_price": 71.88, "unrealized_pnl": 72.67027643203143, "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": 0.0, "avg_price": 424.3, "last_price": 417.16, "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": "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": "BIG_CFD.FR", "mean_reversion_score": 95, "selection_reason": "Extreme deviation below MA50 (-45.8%)"}, {"symbol": "UKW_CFD.UK", "mean_reversion_score": 92, "selection_reason": "Far below MA50 (-12.3%) & MA200 (-17.6%), -5.9% 1d change"}, {"symbol": "BYIT_CFD.UK", "mean_reversion_score": 88, "selection_reason": "Significant deviation below MA50 (-13.0%)"}, {"symbol": "CAR_CFD.US", "mean_reversion_score": 82, "selection_reason": "Below MA50 (-5.9%)"}, {"symbol": "BRBY_CFD.UK", "mean_reversion_score": 78, "selection_reason": "Below MA50 (-4.7%), -0.55% 1d change"}], "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 mean-reversion score (88), significant deviation below MA50 (-13.0%)",
        "symbol": "BYIT_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "Strong mean-reversion score (82), below MA50 (-5.9%), US region alignment",
        "symbol": "CAR_CFD.US",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Top mean-reversion candidate (score 95), holding flat position",
        "symbol": "BIG_CFD.FR"
      },
      {
        "reason": "Profitable position (+6.3% unrealized PnL), continue holding",
        "symbol": "FICO_CFD.US"
      },
      {
        "reason": "Profitable position (+3.4% unrealized PnL), stable",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "Flat position, no strong sell signal",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "Profitable position (+1.9% unrealized PnL), holding",
        "symbol": "OKTA_CFD.US"
      },
      {
        "reason": "Flat position, no strong sell signal",
        "symbol": "THG_CFD.UK"
      },
      {
        "reason": "High mean-reversion candidate (score 92), holding flat",
        "symbol": "UKW_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Significant unrealized loss (-4.4%), no mean-reversion signal, clear underperformer",
        "symbol": "CABO_CFD.US"
      }
    ]
  },
  "portfolio_rationale": "Sell clear loser CABO to reduce risk (1 sell < max 2). Hold 7 positions including winners and top candidates BIG/UKW. Buy top 2 new candidates BYIT/CAR (scores 88/82) with fixed 3000 size each, adding to 10 max positions without exceeding leverage 3.0 or overtrading rules. Focus on high-deviation mean-reversion opportunities."
}
Selection logs
#300stage12026-02-25T19:40:07.984971+00:00
{
  "selected_stocks": [
    {
      "symbol": "BIG_CFD.FR",
      "selection_reason": "Extreme deviation below MA50 (-45.8%)",
      "mean_reversion_score": 95
    },
    {
      "symbol": "UKW_CFD.UK",
      "selection_reason": "Far below MA50 (-12.3%) & MA200 (-17.6%), -5.9% 1d change",
      "mean_reversion_score": 92
    },
    {
      "symbol": "BYIT_CFD.UK",
      "selection_reason": "Significant deviation below MA50 (-13.0%)",
      "mean_reversion_score": 88
    },
    {
      "symbol": "CAR_CFD.US",
      "selection_reason": "Below MA50 (-5.9%)",
      "mean_reversion_score": 82
    },
    {
      "symbol": "BRBY_CFD.UK",
      "selection_reason": "Below MA50 (-4.7%), -0.55% 1d change",
      "mean_reversion_score": 78
    }
  ],
  "rejected_common_reasons": [
    "Above MA50",
    "Recent gains",
    "Limited MA deviation"
  ]
}