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