{
  "design": {
    "start": "20190701",
    "last_signal": "20260630",
    "prediction_fy": "calendar year of signal, Q4",
    "cut": "previous China session; no same-day reports",
    "snapshots": "Latest report per company/broker/FY in each of two consecutive90-calendar-day windows.",
    "stock": "At least2 matched brokers, positive old and new annual NP; median of same-broker percentage revisions.",
    "industry": "Current SW L1 membership filtered by in_date; min10 valid companies and20% coverage; NOT historical membership.",
    "raw_control": "Legacy recent90 mean / preceding180 mean -1, mixing fiscal years and brokers; same eligible industries.",
    "target": "SW2021 price index from next-session close to22nd-session close (21 returns), no dividends or execution costs; diagnostic only.",
    "control": "Per-date rank correlation residualized on ranks of index40-session momentum and60-session variance, min15 industries.",
    "inference": "Mean monthly IC; 6-month moving-block bootstrap2000; no multiple-search adjustment; pre/after20240812."
  },
  "audit": {
    "report_count": 1288235,
    "first": "20190102",
    "last": "20260720",
    "stock_count": 4661,
    "invalid_quarter_rows": 0,
    "membership_rows": 5847,
    "membership_stocks": 5847,
    "membership_with_exit": 0,
    "latest_panel_mode": "em_forecast_growth",
    "latest_panel_note": "Tushare report_rc 上游停在 2026-07-20；本次切换为东方财富最新盈利预测快照。数值=2026预测每股收益相对2025预测每股收益的申万一级行业中位数，不是历史预测修正；数据抓取日为今日。",
    "mixed_forecast_company_days": 280399
  },
  "coverage": [
    {
      "date": "20190731",
      "matched_companies": 667,
      "broker_pairs": 3589,
      "qualified_industries": 9,
      "last_report": "20190730"
    },
    {
      "date": "20190830",
      "matched_companies": 902,
      "broker_pairs": 6508,
      "qualified_industries": 23,
      "last_report": "20190829"
    },
    {
      "date": "20190930",
      "matched_companies": 921,
      "broker_pairs": 6608,
      "qualified_industries": 22,
      "last_report": "20190927"
    },
    {
      "date": "20191031",
      "matched_companies": 741,
      "broker_pairs": 4213,
      "qualified_industries": 16,
      "last_report": "20191030"
    },
    {
      "date": "20191129",
      "matched_companies": 870,
      "broker_pairs": 6049,
      "qualified_industries": 22,
      "last_report": "20191128"
    },
    {
      "date": "20191231",
      "matched_companies": 893,
      "broker_pairs": 6460,
      "qualified_industries": 22,
      "last_report": "20191230"
    },
    {
      "date": "20200123",
      "matched_companies": 872,
      "broker_pairs": 6246,
      "qualified_industries": 22,
      "last_report": "20200122"
    },
    {
      "date": "20200228",
      "matched_companies": 631,
      "broker_pairs": 3452,
      "qualified_industries": 10,
      "last_report": "20200227"
    },
    {
      "date": "20200331",
      "matched_companies": 699,
      "broker_pairs": 4314,
      "qualified_industries": 11,
      "last_report": "20200330"
    },
    {
      "date": "20200430",
      "matched_companies": 684,
      "broker_pairs": 3967,
      "qualified_industries": 10,
      "last_report": "20200429"
    },
    {
      "date": "20200529",
      "matched_companies": 804,
      "broker_pairs": 4789,
      "qualified_industries": 15,
      "last_report": "20200528"
    },
    {
      "date": "20200630",
      "matched_companies": 842,
      "broker_pairs": 5455,
      "qualified_industries": 15,
      "last_report": "20200629"
    },
    {
      "date": "20200731",
      "matched_companies": 635,
      "broker_pairs": 3436,
      "qualified_industries": 6,
      "last_report": "20200730"
    },
    {
      "date": "20200831",
      "matched_companies": 859,
      "broker_pairs": 6192,
      "qualified_industries": 13,
      "last_report": "20200828"
    },
    {
      "date": "20200930",
      "matched_companies": 887,
      "broker_pairs": 6246,
      "qualified_industries": 16,
      "last_report": "20200929"
    },
    {
      "date": "20201030",
      "matched_companies": 667,
      "broker_pairs": 3563,
      "qualified_industries": 6,
      "last_report": "20201029"
    },
    {
      "date": "20201130",
      "matched_companies": 800,
      "broker_pairs": 5475,
      "qualified_industries": 11,
      "last_report": "20201127"
    },
    {
      "date": "20201231",
      "matched_companies": 858,
      "broker_pairs": 5902,
      "qualified_industries": 11,
      "last_report": "20201230"
    },
    {
      "date": "20210129",
      "matched_companies": 647,
      "broker_pairs": 3615,
      "qualified_industries": 5,
      "last_report": "20210128"
    },
    {
      "date": "20210226",
      "matched_companies": 499,
      "broker_pairs": 2695,
      "qualified_industries": 4,
      "last_report": "20210225"
    },
    {
      "date": "20210331",
      "matched_companies": 561,
      "broker_pairs": 3515,
      "qualified_industries": 4,
      "last_report": "20210330"
    },
    {
      "date": "20210430",
      "matched_companies": 619,
      "broker_pairs": 3366,
      "qualified_industries": 4,
      "last_report": "20210429"
    },
    {
      "date": "20210531",
      "matched_companies": 583,
      "broker_pairs": 3202,
      "qualified_industries": 4,
      "last_report": "20210528"
    },
    {
      "date": "20210630",
      "matched_companies": 662,
      "broker_pairs": 3875,
      "qualified_industries": 4,
      "last_report": "20210629"
    },
    {
      "date": "20210730",
      "matched_companies": 537,
      "broker_pairs": 2993,
      "qualified_industries": 4,
      "last_report": "20210729"
    },
    {
      "date": "20210831",
      "matched_companies": 923,
      "broker_pairs": 6451,
      "qualified_industries": 15,
      "last_report": "20210830"
    },
    {
      "date": "20210930",
      "matched_companies": 1011,
      "broker_pairs": 7141,
      "qualified_industries": 17,
      "last_report": "20210929"
    },
    {
      "date": "20211029",
      "matched_companies": 761,
      "broker_pairs": 4319,
      "qualified_industries": 12,
      "last_report": "20211028"
    },
    {
      "date": "20211130",
      "matched_companies": 991,
      "broker_pairs": 6696,
      "qualified_industries": 14,
      "last_report": "20211129"
    },
    {
      "date": "20211231",
      "matched_companies": 1040,
      "broker_pairs": 7129,
      "qualified_industries": 15,
      "last_report": "20211230"
    },
    {
      "date": "20220128",
      "matched_companies": 770,
      "broker_pairs": 4357,
      "qualified_industries": 10,
      "last_report": "20220127"
    },
    {
      "date": "20220228",
      "matched_companies": 642,
      "broker_pairs": 3548,
      "qualified_industries": 4,
      "last_report": "20220225"
    },
    {
      "date": "20220331",
      "matched_companies": 755,
      "broker_pairs": 4615,
      "qualified_industries": 8,
      "last_report": "20220330"
    },
    {
      "date": "20220429",
      "matched_companies": 838,
      "broker_pairs": 4799,
      "qualified_industries": 10,
      "last_report": "20220428"
    },
    {
      "date": "20220531",
      "matched_companies": 842,
      "broker_pairs": 4788,
      "qualified_industries": 10,
      "last_report": "20220530"
    },
    {
      "date": "20220630",
      "matched_companies": 894,
      "broker_pairs": 5456,
      "qualified_industries": 13,
      "last_report": "20220629"
    },
    {
      "date": "20220729",
      "matched_companies": 683,
      "broker_pairs": 3760,
      "qualified_industries": 8,
      "last_report": "20220728"
    },
    {
      "date": "20220831",
      "matched_companies": 1093,
      "broker_pairs": 7608,
      "qualified_industries": 20,
      "last_report": "20220830"
    },
    {
      "date": "20220930",
      "matched_companies": 1161,
      "broker_pairs": 7899,
      "qualified_industries": 20,
      "last_report": "20220929"
    },
    {
      "date": "20221031",
      "matched_companies": 885,
      "broker_pairs": 4952,
      "qualified_industries": 9,
      "last_report": "20221028"
    },
    {
      "date": "20221130",
      "matched_companies": 1123,
      "broker_pairs": 7313,
      "qualified_industries": 21,
      "last_report": "20221129"
    },
    {
      "date": "20221230",
      "matched_companies": 1205,
      "broker_pairs": 7993,
      "qualified_industries": 23,
      "last_report": "20221229"
    },
    {
      "date": "20230131",
      "matched_companies": 766,
      "broker_pairs": 3902,
      "qualified_industries": 7,
      "last_report": "20230130"
    },
    {
      "date": "20230228",
      "matched_companies": 689,
      "broker_pairs": 3492,
      "qualified_industries": 7,
      "last_report": "20230227"
    },
    {
      "date": "20230331",
      "matched_companies": 795,
      "broker_pairs": 4640,
      "qualified_industries": 10,
      "last_report": "20230330"
    },
    {
      "date": "20230428",
      "matched_companies": 857,
      "broker_pairs": 4506,
      "qualified_industries": 9,
      "last_report": "20230427"
    },
    {
      "date": "20230531",
      "matched_companies": 845,
      "broker_pairs": 4382,
      "qualified_industries": 9,
      "last_report": "20230530"
    },
    {
      "date": "20230630",
      "matched_companies": 894,
      "broker_pairs": 4972,
      "qualified_industries": 9,
      "last_report": "20230629"
    },
    {
      "date": "20230731",
      "matched_companies": 663,
      "broker_pairs": 3372,
      "qualified_industries": 5,
      "last_report": "20230728"
    },
    {
      "date": "20230831",
      "matched_companies": 1241,
      "broker_pairs": 7914,
      "qualified_industries": 21,
      "last_report": "20230830"
    },
    {
      "date": "20230928",
      "matched_companies": 1406,
      "broker_pairs": 8993,
      "qualified_industries": 24,
      "last_report": "20230927"
    },
    {
      "date": "20231031",
      "matched_companies": 1000,
      "broker_pairs": 5075,
      "qualified_industries": 12,
      "last_report": "20231030"
    },
    {
      "date": "20231130",
      "matched_companies": 1283,
      "broker_pairs": 8309,
      "qualified_industries": 22,
      "last_report": "20231129"
    },
    {
      "date": "20231229",
      "matched_companies": 1358,
      "broker_pairs": 9443,
      "qualified_industries": 23,
      "last_report": "20231228"
    },
    {
      "date": "20240131",
      "matched_companies": 903,
      "broker_pairs": 4699,
      "qualified_industries": 11,
      "last_report": "20240130"
    },
    {
      "date": "20240229",
      "matched_companies": 644,
      "broker_pairs": 3259,
      "qualified_industries": 4,
      "last_report": "20240228"
    },
    {
      "date": "20240329",
      "matched_companies": 707,
      "broker_pairs": 4093,
      "qualified_industries": 6,
      "last_report": "20240328"
    },
    {
      "date": "20240430",
      "matched_companies": 715,
      "broker_pairs": 3704,
      "qualified_industries": 8,
      "last_report": "20240429"
    },
    {
      "date": "20240531",
      "matched_companies": 738,
      "broker_pairs": 3882,
      "qualified_industries": 5,
      "last_report": "20240530"
    },
    {
      "date": "20240628",
      "matched_companies": 773,
      "broker_pairs": 4309,
      "qualified_industries": 7,
      "last_report": "20240627"
    },
    {
      "date": "20240731",
      "matched_companies": 568,
      "broker_pairs": 2843,
      "qualified_industries": 4,
      "last_report": "20240730"
    },
    {
      "date": "20240830",
      "matched_companies": 1079,
      "broker_pairs": 6757,
      "qualified_industries": 17,
      "last_report": "20240829"
    },
    {
      "date": "20240930",
      "matched_companies": 1336,
      "broker_pairs": 8273,
      "qualified_industries": 22,
      "last_report": "20240927"
    },
    {
      "date": "20241031",
      "matched_companies": 966,
      "broker_pairs": 4798,
      "qualified_industries": 11,
      "last_report": "20241030"
    },
    {
      "date": "20241129",
      "matched_companies": 1144,
      "broker_pairs": 7094,
      "qualified_industries": 20,
      "last_report": "20241128"
    },
    {
      "date": "20241231",
      "matched_companies": 1269,
      "broker_pairs": 8203,
      "qualified_industries": 22,
      "last_report": "20241230"
    },
    {
      "date": "20250127",
      "matched_companies": 1209,
      "broker_pairs": 7288,
      "qualified_industries": 20,
      "last_report": "20250124"
    },
    {
      "date": "20250228",
      "matched_companies": 463,
      "broker_pairs": 2224,
      "qualified_industries": 3,
      "last_report": "20250227"
    },
    {
      "date": "20250331",
      "matched_companies": 537,
      "broker_pairs": 2978,
      "qualified_industries": 3,
      "last_report": "20250328"
    },
    {
      "date": "20250430",
      "matched_companies": 638,
      "broker_pairs": 2968,
      "qualified_industries": 3,
      "last_report": "20250429"
    },
    {
      "date": "20250530",
      "matched_companies": 531,
      "broker_pairs": 2465,
      "qualified_industries": 3,
      "last_report": "20250529"
    },
    {
      "date": "20250630",
      "matched_companies": 594,
      "broker_pairs": 2804,
      "qualified_industries": 3,
      "last_report": "20250627"
    },
    {
      "date": "20250731",
      "matched_companies": 446,
      "broker_pairs": 2120,
      "qualified_industries": 2,
      "last_report": "20250730"
    },
    {
      "date": "20250829",
      "matched_companies": 893,
      "broker_pairs": 5035,
      "qualified_industries": 6,
      "last_report": "20250828"
    },
    {
      "date": "20250930",
      "matched_companies": 1187,
      "broker_pairs": 6651,
      "qualified_industries": 17,
      "last_report": "20250929"
    },
    {
      "date": "20251031",
      "matched_companies": 786,
      "broker_pairs": 3580,
      "qualified_industries": 4,
      "last_report": "20251030"
    },
    {
      "date": "20251128",
      "matched_companies": 934,
      "broker_pairs": 5174,
      "qualified_industries": 7,
      "last_report": "20251127"
    },
    {
      "date": "20251231",
      "matched_companies": 1067,
      "broker_pairs": 6210,
      "qualified_industries": 14,
      "last_report": "20251230"
    },
    {
      "date": "20260130",
      "matched_companies": 687,
      "broker_pairs": 3096,
      "qualified_industries": 3,
      "last_report": "20260129"
    },
    {
      "date": "20260227",
      "matched_companies": 308,
      "broker_pairs": 1454,
      "qualified_industries": 1,
      "last_report": "20260226"
    },
    {
      "date": "20260331",
      "matched_companies": 378,
      "broker_pairs": 1942,
      "qualified_industries": 2,
      "last_report": "20260330"
    },
    {
      "date": "20260430",
      "matched_companies": 494,
      "broker_pairs": 2307,
      "qualified_industries": 3,
      "last_report": "20260429"
    },
    {
      "date": "20260529",
      "matched_companies": 405,
      "broker_pairs": 1854,
      "qualified_industries": 2,
      "last_report": "20260528"
    },
    {
      "date": "20260630",
      "matched_companies": 445,
      "broker_pairs": 2180,
      "qualified_industries": 2,
      "last_report": "20260610"
    }
  ],
  "summary": {
    "all": {
      "months": 26,
      "first": "20190830",
      "last": "20250930",
      "metrics": {
        "revision_ic": {
          "mean": -0.003410143756628495,
          "positive_fraction": 0.5384615384615384,
          "ci95": [
            -0.0605634973632785,
            0.09613557141608098
          ]
        },
        "breadth_ic": {
          "mean": 0.028010162631194442,
          "positive_fraction": 0.6538461538461539,
          "ci95": [
            -0.039133292962040996,
            0.11781491638767383
          ]
        },
        "legacy_mixed_ic": {
          "mean": -0.0069418536325253225,
          "positive_fraction": 0.5,
          "ci95": [
            -0.08959870356669708,
            0.07540353991674169
          ]
        },
        "momentum_ic": {
          "mean": -0.07809433734928418,
          "positive_fraction": 0.38461538461538464,
          "ci95": [
            -0.23963758906441476,
            0.10435023338178623
          ]
        },
        "partial_ic": {
          "mean": -0.031188879613665184,
          "positive_fraction": 0.5,
          "ci95": [
            -0.12108364188504724,
            0.09572842762432217
          ]
        },
        "past_momentum_correlation": {
          "mean": 0.05328849828356275,
          "positive_fraction": 0.6153846153846154,
          "ci95": [
            -0.09520345657999603,
            0.14976420056621764
          ]
        },
        "corrected_vs_mixed_correlation": {
          "mean": 0.688876786813579,
          "positive_fraction": 1.0,
          "ci95": [
            0.5926265838635824,
            0.7823426587493474
          ]
        },
        "top5_minus_bottom5_pct": {
          "mean": -0.02716486408441513,
          "positive_fraction": 0.5,
          "ci95": [
            -1.2224207203372959,
            1.7979706609698398
          ]
        }
      }
    },
    "early": {
      "months": 20,
      "first": "20190830",
      "last": "20231229",
      "metrics": {
        "revision_ic": {
          "mean": -0.019082972043845934,
          "positive_fraction": 0.5,
          "ci95": [
            -0.0996954735994494,
            0.0691704656290035
          ]
        },
        "breadth_ic": {
          "mean": 0.01571333806576707,
          "positive_fraction": 0.6,
          "ci95": [
            -0.0806479778889637,
            0.11908084955152572
          ]
        },
        "legacy_mixed_ic": {
          "mean": -0.021721605513434834,
          "positive_fraction": 0.45,
          "ci95": [
            -0.13772444463771855,
            0.022573327073426186
          ]
        },
        "momentum_ic": {
          "mean": -0.047479352735477376,
          "positive_fraction": 0.4,
          "ci95": [
            -0.2550093628503513,
            0.2003157254749725
          ]
        },
        "partial_ic": {
          "mean": -0.038744391152107475,
          "positive_fraction": 0.5,
          "ci95": [
            -0.16292986771833287,
            0.11640332982153279
          ]
        },
        "past_momentum_correlation": {
          "mean": 0.0283527656219588,
          "positive_fraction": 0.6,
          "ci95": [
            -0.17547594261009297,
            0.13313314293879294
          ]
        },
        "corrected_vs_mixed_correlation": {
          "mean": 0.6551787256358356,
          "positive_fraction": 1.0,
          "ci95": [
            0.5689976621581956,
            0.788092177133869
          ]
        },
        "top5_minus_bottom5_pct": {
          "mean": -0.12316408248267771,
          "positive_fraction": 0.5,
          "ci95": [
            -1.8568123616825467,
            1.1471635629177042
          ]
        }
      }
    },
    "late": {
      "months": 6,
      "first": "20240830",
      "last": "20250930",
      "metrics": {
        "revision_ic": {
          "mean": 0.048832617200762964,
          "positive_fraction": 0.6666666666666666,
          "ci95": null
        },
        "breadth_ic": {
          "mean": 0.06899957784928568,
          "positive_fraction": 0.8333333333333334,
          "ci95": null
        },
        "legacy_mixed_ic": {
          "mean": 0.04232398597050636,
          "positive_fraction": 0.6666666666666666,
          "ci95": null
        },
        "momentum_ic": {
          "mean": -0.1801442860619735,
          "positive_fraction": 0.3333333333333333,
          "ci95": null
        },
        "partial_ic": {
          "mean": -0.00600384115219086,
          "positive_fraction": 0.5,
          "ci95": null
        },
        "past_momentum_correlation": {
          "mean": 0.1364076071555759,
          "positive_fraction": 0.6666666666666666,
          "ci95": null
        },
        "corrected_vs_mixed_correlation": {
          "mean": 0.8012036574060573,
          "positive_fraction": 1.0,
          "ci95": null
        },
        "top5_minus_bottom5_pct": {
          "mean": 0.29283253057646,
          "positive_fraction": 0.5,
          "ci95": null
        }
      }
    }
  },
  "prefix_checks": [
    {
      "date": "20201231",
      "snapshot_prefix_equal": true
    },
    {
      "date": "20231229",
      "snapshot_prefix_equal": true
    },
    {
      "date": "20260630",
      "snapshot_prefix_equal": true
    }
  ]
}