{
  "as_of": "2026-11-02",
  "period": {
    "days": 20,
    "label": "月",
    "horizon": "中线",
    "momentum": 120,
    "trend": 120,
    "reversal": 0.0
  },
  "weights": {
    "momentum": 0.3157894736842105,
    "quality_momentum": 0.15789473684210525,
    "low_vol": 0.2105263157894737,
    "trend": 0.2105263157894737,
    "high_52w": 0.052631578947368425,
    "liquidity": 0.052631578947368425
  },
  "factor_labels": {
    "momentum": "动量",
    "quality_momentum": "质量动量",
    "low_vol": "低波",
    "trend": "趋势",
    "reversal": "短期反转",
    "high_52w": "52周高点",
    "liquidity": "流动性"
  },
  "invested": 0.95,
  "n_candidates": 41,
  "recommendations": [
    {
      "rank": 1,
      "code": "601857",
      "name": "中国石油",
      "score": 1.3494,
      "weight": 0.0792,
      "close": 14.02,
      "ma200_dev": 0.3059,
      "vol60": 0.2627,
      "contrib": {
        "momentum": 0.4099,
        "quality_momentum": 0.2764,
        "low_vol": 0.0631,
        "trend": 0.4904,
        "high_52w": 0.0792,
        "liquidity": 0.0304
      }
    },
    {
      "rank": 2,
      "code": "601939",
      "name": "建设银行",
      "score": 1.3252,
      "weight": 0.0792,
      "close": 12.06,
      "ma200_dev": 0.2258,
      "vol60": 0.2148,
      "contrib": {
        "momentum": 0.5046,
        "quality_momentum": 0.3202,
        "low_vol": 0.1421,
        "trend": 0.2688,
        "high_52w": 0.0792,
        "liquidity": 0.0103
      }
    },
    {
      "rank": 3,
      "code": "601919",
      "name": "中远海控",
      "score": 1.3156,
      "weight": 0.0792,
      "close": 17.97,
      "ma200_dev": 0.2347,
      "vol60": 0.285,
      "contrib": {
        "momentum": 0.5083,
        "quality_momentum": 0.3489,
        "low_vol": 0.0264,
        "trend": 0.3416,
        "high_52w": 0.0792,
        "liquidity": 0.0113
      }
    },
    {
      "rank": 4,
      "code": "601988",
      "name": "中国银行",
      "score": 1.2919,
      "weight": 0.0792,
      "close": 7.04,
      "ma200_dev": 0.2008,
      "vol60": 0.2369,
      "contrib": {
        "momentum": 0.5304,
        "quality_momentum": 0.2995,
        "low_vol": 0.1056,
        "trend": 0.2489,
        "high_52w": 0.0713,
        "liquidity": 0.0361
      }
    },
    {
      "rank": 5,
      "code": "601398",
      "name": "工商银行",
      "score": 1.2841,
      "weight": 0.0792,
      "close": 8.69,
      "ma200_dev": 0.1765,
      "vol60": 0.2044,
      "contrib": {
        "momentum": 0.4513,
        "quality_momentum": 0.2951,
        "low_vol": 0.1592,
        "trend": 0.25,
        "high_52w": 0.0763,
        "liquidity": 0.0522
      }
    },
    {
      "rank": 6,
      "code": "600887",
      "name": "伊利股份",
      "score": 1.2483,
      "weight": 0.0792,
      "close": 30.62,
      "ma200_dev": 0.175,
      "vol60": 0.1686,
      "contrib": {
        "momentum": 0.4198,
        "quality_momentum": 0.231,
        "low_vol": 0.2183,
        "trend": 0.277,
        "high_52w": 0.0792,
        "liquidity": 0.023
      }
    },
    {
      "rank": 7,
      "code": "601728",
      "name": "中国电信",
      "score": 1.1967,
      "weight": 0.0792,
      "close": 7.04,
      "ma200_dev": 0.1898,
      "vol60": 0.2073,
      "contrib": {
        "momentum": 0.4781,
        "quality_momentum": 0.2315,
        "low_vol": 0.1545,
        "trend": 0.2687,
        "high_52w": 0.0792,
        "liquidity": -0.0153
      }
    },
    {
      "rank": 8,
      "code": "600900",
      "name": "长江电力",
      "score": 1.1385,
      "weight": 0.0792,
      "close": 29.5,
      "ma200_dev": 0.0915,
      "vol60": 0.1457,
      "contrib": {
        "momentum": 0.3858,
        "quality_momentum": 0.2303,
        "low_vol": 0.2561,
        "trend": 0.1359,
        "high_52w": 0.0745,
        "liquidity": 0.0559
      }
    },
    {
      "rank": 9,
      "code": "600036",
      "name": "招商银行",
      "score": 1.1023,
      "weight": 0.0792,
      "close": 43.18,
      "ma200_dev": 0.1163,
      "vol60": 0.1839,
      "contrib": {
        "momentum": 0.3074,
        "quality_momentum": 0.2646,
        "low_vol": 0.193,
        "trend": 0.2011,
        "high_52w": 0.0767,
        "liquidity": 0.0594
      }
    },
    {
      "rank": 10,
      "code": "603259",
      "name": "药明康德",
      "score": 1.0913,
      "weight": 0.0792,
      "close": 138.65,
      "ma200_dev": 0.1711,
      "vol60": 0.4672,
      "contrib": {
        "momentum": 0.9372,
        "quality_momentum": 0.2019,
        "low_vol": -0.2739,
        "trend": 0.1099,
        "high_52w": 0.0297,
        "liquidity": 0.0865
      }
    },
    {
      "rank": 11,
      "code": "601088",
      "name": "中国神华",
      "score": 1.0177,
      "weight": 0.0792,
      "close": 51.84,
      "ma200_dev": 0.1824,
      "vol60": 0.242,
      "contrib": {
        "momentum": 0.3288,
        "quality_momentum": 0.2135,
        "low_vol": 0.0972,
        "trend": 0.2747,
        "high_52w": 0.0783,
        "liquidity": 0.0251
      }
    },
    {
      "rank": 12,
      "code": "600919",
      "name": "江苏银行",
      "score": 0.9892,
      "weight": 0.0792,
      "close": 12.72,
      "ma200_dev": 0.1433,
      "vol60": 0.1988,
      "contrib": {
        "momentum": 0.3166,
        "quality_momentum": 0.2468,
        "low_vol": 0.1685,
        "trend": 0.1753,
        "high_52w": 0.0739,
        "liquidity": 0.0081
      }
    }
  ],
  "data_notes": {
    "kline_source": "腾讯/新浪日线（公开接口）",
    "universe": "内置大市值样本池（123 只有效标的，静态列表含幸存者偏差）",
    "method": "截面 MAD 去极值 + Z-score 加权合成，200 日线之上才入选"
  }
}