Alpha Library  /  Point-in-time Fundamentals  /  fund_dividend_yield_ind_neutral

fund_dividend_yield_ind_neutral

Dividend yield TTM industry-neutral - within-industry dv_ttm (daily market data)

Themes & universe

valueequity_cn1d

Formula

\mathrm{zscore}_{x\mid\mathrm{industry}}(\mathrm{DY_{TTM}})

Definition

id
fund_dividend_yield_ind_neutral
zoo
fundamental
module_path
src.factors.zoo.fundamental.dividend_yield_ind_neutral
decay_horizon
252
min_warmup_bars
1
requires_sector
True
columns_required
val:dv_ttm

Notes

Industry-neutralized trailing dividend yield: each name is z-scored against its Shenwan level-1 industry peers instead of the whole cross-section (sector tag from tushare index_member_all SW2021 membership, point-in-time via in_date/out_date). This removes the industry confounding that dominates raw A-share dividend yield — mature banks and utilities pay structurally high dividends while growth industries pay almost none, so a raw high-yield screen is largely an industry bet. High dividend yield relative to industry peers scores high; dv_ttm is reported in percent units and cross-sectional z-scoring is scale-invariant, so no unit conversion is applied. A name with no industry label on a date stays NaN and is excluded from that date's cross-section; an industry group with fewer than two labelled names cannot form a within-group z-score and stays NaN. Keyed by trade_date, so PIT-safe by construction with no filing lag. Membership is point-in-time but the SW2021 taxonomy itself is retroactive — a name reclassified in 2021 carries its 2021 industry back through history. Lineage: industry-neutral variant of fund_dividend_yield (#1789 follow-up).

Run it

pip install vibe-trading-ai
vibe-trading alpha show fund_dividend_yield_ind_neutral
vibe-trading alpha bench --zoo fundamental --universe csi300 --period 2020-2025