# pyblp.ProblemResults.compute_prices¶

ProblemResults.compute_prices(firm_ids=None, ownership=None, costs=None, prices=None, iteration=None, market_id=None)

Estimate equilibrium prices after firm or cost changes, $$p^*$$.

Note

To compute equilibrium prices (and shares) associated with a more complicated counterfactual, a Simulation for the counterfactual can be initialized with the estimated parameters, structural errors, and marginal costs from these results, and then solved with Simulation.replace_endogenous(). The returned SimulationResults gives more information about the contraction than this method, such as the number of contraction evaluations.

Prices are computed in each market by iterating over the $$\zeta$$-markup contraction in (46):

(1)$p^* \leftarrow c^* + \zeta^*(p^*),$

in which the markup term from (43) is

(2)$\zeta^*(p^*) = \Lambda^{-1}(p^*)[O^* \odot \Gamma(p^*)]'(p^* - c^*) - \Lambda^{-1}(p^*)$

where $$O^*$$ is the ownership matrix associated with firm changes.

Parameters
• firm_ids (array-like, optional) – Potentially changed firm IDs. By default, the unchanged firm_ids field of product_data in Problem will be used.

• ownership (array-like, optional) – Potentially changed ownership matrices. By default, standard ownership matrices based on firm_ids will be used unless the ownership field of product_data in Problem was specified.

• costs (array-like) – Potentially changed marginal costs, $$c^*$$. By default, unchanged marginal costs are computed with ProblemResults.compute_costs().

• prices (array-like, optional) – Prices at which the fixed point iteration routine will start. By default, unchanged prices, $$p$$, are used as starting values. Other reasonable starting prices include the approximate equilibrium prices computed by ProblemResults.compute_approximate_prices().

• iteration (Iteration, optional) – Iteration configuration for how to solve the fixed point problem in each market. By default, Iteration('simple', {'atol': 1e-12}) is used. Analytic Jacobians are not supported for solving this system.

• market_id (object, optional) – ID of the market in which to compute equilibrium prices. By default, equilibrium prices are computed in all markets and stacked.

Returns

Estimates of equilibrium prices after any firm or cost changes, $$p^*$$.

Return type

ndarray

Examples