Collect and clean
Financial statement data is sourced from standardized databases and merged with market data using permanent firm identifiers. First, missing values are flagged rather than imputed. Next, extreme observations are winsorized at the one-percent level to reduce the influence of data entry errors. Finally, variables are calculated according to published definitions with deviations documented explicitly.
Typical cleaning cycle: two to three weeks per dataset refresh
Calculate persistence
The persistence metric is computed as the slope coefficient from a firm-level time-series regression of capital expenditure scaled by total assets. Firms with fewer than five consecutive years of data are excluded. The resulting distribution is cross-sectionally standardized each year to facilitate comparison across firms and time periods. Alternative specifications are retained for robustness checks.
Primary specification: five-year rolling window, asset-scaled capex
Rank and simulate
Firms are ranked into quintiles based on their persistence score at the end of each fiscal year. Portfolios are formed with a three-month reporting lag to avoid look-ahead bias. Returns are calculated using value-weighted construction to mitigate the influence of small-cap outliers. Rebalancing occurs annually to match the frequency of the underlying accounting data.
Transaction costs are estimated at fifty basis points per turn