pyblp.ProblemResults.compute_approximate_prices¶
-
ProblemResults.
compute_approximate_prices
(firm_ids=None, ownership=None, costs=None, market_id=None)¶ Approximate equilibrium prices after firm or cost changes, \(p^*\), under the assumption that shares and their price derivatives are unaffected by such changes.
This approximation is in the spirit of Hausman, Leonard, and Zona (1994) and Werden (1997). Prices in each market are computed according to the \(\eta\)-markup equation in (7):
(1)¶\[p^* = c^* + \eta^*,\]in which the markup term is approximated with
(2)¶\[\eta^* \approx -\left(\mathscr{H}^* \odot \frac{\partial s}{\partial p}\right)^{-1}s\]where \(\mathscr{H}^*\) is the ownership or product holding matrix associated with firm changes.
- Parameters
firm_ids (array-like, optional) – Potentially changed firm IDs. By default, the unchanged
firm_ids
field ofproduct_data
inProblem
will be used.ownership (array-like, optional) – Potentially changed ownership matrices. By default, standard ownership matrices based on
firm_ids
will be used unless theownership
field ofproduct_data
inProblem
was specified.costs (array-like, optional) – Potentially changed marginal costs, \(c^*\). By default, unchanged marginal costs are computed with
ProblemResults.compute_costs()
. Costs under a changed ownership structure can be computed by specifying thefirm_ids
orownership
arguments ofProblemResults.compute_costs()
.market_id (object, optional) – ID of the market in which to compute approximate equilibrium prices. By default, approximate equilibrium prices are computed in all markets and stacked.
- Returns
Approximation of equilibrium prices after any firm or cost changes, \(p^*\).
- Return type
ndarray
Examples