Portfolio choice involves substituting across many assets at once, complicating inference about asset demand. An elementary condition often captures this behavior in theory and practice: homogeneous substitution conditional on observables (e.g., factor loadings, maturity, credit ratings). We characterize natural experiments identifying demand elasticity and price impact under this condition. Cross-sectional IV and difference-in-differences identify relative elasticity, own- minus cross-price elasticity for assets sharing observables. But a missing-coefficient problem leaves substitution unidentified: the coefficients on observables mechanically absorb it. Identifying substitution requires time-series regressions on portfolios sorted on observables. We apply the framework to corporate bonds, comparing alternative Fed asset-purchase programs.