Learn R Programming

antitrust (version 0.99.10)

other-methods: Other Useful ‘Bertrand’ Methods

Description

Methods defined for the ‘Bertrand’ class and its child classes.

Usage

# S4 method for ANY
calcShares(object,preMerger=TRUE,revenue=FALSE)
# S4 method for ANY
calcQuantities(object,preMerger=TRUE, market=FALSE)
# S4 method for ANY
calcRevenues(object,preMerger=TRUE, market=FLASE)
# S4 method for ANY
calcPrices(object,preMerger=TRUE,subset,...)
# S4 method for Antitrust
calcPriceDelta(object,levels=FALSE,market=FALSE,...)
# S4 method for AIDS
calcPriceDelta(object,isMax=FALSE,levels=FALSE,subset,market=FALSE,...)
# S4 method for Bertrand
calcProducerSurplus(object,preMerger=TRUE)
# S4 method for ANY
calcMargins(object,preMerger=TRUE)
# S4 method for Bertrand
calcMC(object,preMerger=TRUE)
# S4 method for ANY
calcSlopes(object,preMerger=TRUE)
# S4 method for Bertrand
calcDiagnostics(object,labels=object@labels)
# S4 method for Bertrand
getParms(object,digits=10)
# S4 method for Bertrand
hhi(object,preMerger=TRUE,revenue=FALSE,insideonly=TRUE)
# S4 method for Antitrust
ownerToMatrix(object,preMerger=TRUE)
# S4 method for Antitrust
ownerToVec(object,preMerger=TRUE)
# S4 method for Bertrand
plot(x,scale=.1)
# S4 method for Bertrand
summary(object,revenue=TRUE,shares=TRUE,levels=FALSE,
parameters=FALSE,market=FALSE,insideOnly=TRUE,digits=2,...)

Arguments

Let k denote the number of products

object

An instance of one of the classes listed above.

x

Used only in plot method. Should always be set equal to object

preMerger

If TRUE, returns pre-merger outcome. If FALSE, returns post-merger outcome. Default is TRUE.

isMax

If TRUE, uses numerical derivatives to determine if equilibrium price vector is a local maximum. Default is FALSE.

revenue

If TRUE, returns revenues. If FALSE, returns quantities. Default is TRUE

subset

A vector of length k where each element equals TRUE if the product indexed by that element should be included in the post-merger simulation and FALSE if it should be excluded.Default is a length k vector of TRUE.

shares

If TRUE, returns shares. If FALSE, returns levels. Default is TRUE

parameters

If TRUE, reports demand and cost parameters. Default is FALSE

levels

If TRUE, report results in levels. If FALSE, report results in percents. Default is FALSE

insideOnly

If TRUE, normalizes sum of inside shares to 1. Default is FALSE

digits

The number of significant digits to round printed results.

scale

The proportion below marginal cost and above equilbrium price that should be plotted. Default is .1

insideonly

If TRUE, excludes the share of the outside good from the calculation. Default is TRUE.

market

If TRUE, reports market-level summary. Otherwise reports product/plant level summary. Default is FALSE

labels

A length-k vector product labels. Defauult is object@labels

...

Arguments to be passed to non-linear solver, OR for summary to CV.

Methods

calcShares

signature(object= c(Linear,AIDS,Logit,LogitNests,CES,CESNests), preMerger=TRUE, revenue=FALSE)

Computes equilibrium product shares assuming that firms are playing a Nash-Bertrand or Cournot game. ‘revenue’ takes on a value of TRUE or FALSE, where TRUE calculates revenue shares, while FALSE calculates quantity shares.

calcQuantities

signature(object=c(AIDS,CES,Cournot,Linear,Logit,LogLin,Logit,LogitCap,Stackelberg),preMerger=TRUE, market=FALSE)

Computes equilibrium product quantities assuming that firms are playing a Nash-Bertrand, 2nd Score Auction, or Cournot game. Setting `market' to TRUE returns total market quantity.

calcRevenues

signature(object=c(Bertrand, AIDS, CES),preMerger=TRUE, market=FALSE)

Computes equilibrium product revenues assuming that firms are playing a Nash-Bertrand, 2nd Score Auction, or Cournot game. Setting `market' to TRUE returns total market revenue.

calcPrices

signature(object=c(Linear,LogLin,AIDS,Logit,LogitNests,LogitCap,CES,CESNests),preMerger=TRUE,subset,...)

Computes equilibrium product price levels assuming that firms are playing a Nash-Bertrand or Cournot game. ‘...’ may be used to feed additional options to the optimizer responsible for computing equilibrium prices. Typically, BBsolve is used, but see the appropriate document for further details.

calcPriceDelta

signature(object=Antitrust, market=FALSE, ...)

Computes equilibrium price changes due to a merger assuming that firms are playing a Nash-Bertrand or Cournot game. This is a wrapper method for computing the difference between pre- and post-merger equilbrium prices

calcPriceDelta

signature(object=AIDS,isMax=FALSE,subset,market=FALSE,...)

Computes equilibrium price changes due to a merger assuming that firms are playing a Nash-Bertrand or Cournot game and LA-AIDS. This method calls a non-linear equations solver to find a sequence of price changes that satisfy the Bertrand FOCs.

calcProducerSurplus

signature(object=Bertrand,preMerger=TRUE)

Computes equilibrium producer surplus.

calcMargins

signature(object=c(Bertrand,LogitCap),preMerger=TRUE)

Computes equilibrium product margins assuming that firms are playing a Nash-Bertrand or Cournot game. For "LogitCap", assumes firms are playing a Nash-Bertrand or Cournot game with capacity constraints.

calcDiagnostics

signature(object=c(Bertrand,Cournot),labels

Computes the percentage difference between predicted and observed pre-merger prices, shares, margins and market elasticities (if supplied) . ‘labels’ is used to specify row labels.

calcVC

signature(object=Cournot,preMerger=TRUE)

Computes either pre- or post-merger variable costs. Variable costs are assumed to be quadratic by default. Post-merger variable costs are equal to pre-merger variable costs multiplied by 1+‘mcDelta’, a length-k vector of marginal cost changes. ‘mcDelta’ will typically be between 0 and 1.

calcMC

signature(object=Bertrand,preMerger=TRUE)

Computes either pre- or post-merger marginal costs. Marginal costs are assumed to be constant. Post-merger marginal costs are equal to pre-merger marginal costs multiplied by 1+‘mcDelta’, a length-k vector of marginal cost changes. ‘mcDelta’ will typically be between 0 and 1.

calcdMC

signature(object=Cournot,preMerger=TRUE)

Computes the derivative of either pre- or post-merger marginal costs. the derivative of Marginal costs is assumed to be constant. Post-merger marginal costs are equal to pre-merger marginal costs multiplied by 1+‘mcDelta’, a length-k vector of marginal cost changes. ‘mcDelta’ will typically be between 0 and 1.

calcSlopes

signature(object=c(Linear,LogLin,AIDS,PCAIDSNests,Logit,LogitNests,LogitCap,CES,CESNests, Cournot,Stackelberg),preMerger=TRUE)

Computes demand parameters assuming that firms are playing a Nash-Bertrand or Cournot game.

getParms

signature(object=Bertrand,digits=10)

Returns a list of model-specific demand parameters. ‘digits’ specifies the number of significant digit to return (default 10).

hhi

signature(object=Bertrand,preMerger=TRUE,revenue=FALSE, insideonly=TRUE)

Computes the Herfindahl-Hirschman Index (HHI) using simulated market shares and either pre- or post-merger ownership information.Outside shares are excluded from the calculation.

ownerToMatrix

signature(object=Antitrust,preMerger=TRUE)

converts a length-k ownership vector into a k x k ownership matrix where element i,j equals 1 if products i and j are commonly owned, and 0 otherwise.

ownerToVec

signature(object=Antitrust,preMerger=TRUE)

converts a k x k ownership matrix into a length-k ownership vector

plot

signature(x,scale=.1)

Use ggplot to plot pre- and post-merger demand, marginal cost and equilibria. ‘scale’ controls the amount above marginal cost and below equilbrium price that is plotted.

show

signature(object=Antitrust)

Displays the percentage change in prices due to the merger.

summary

signature(object=c(Bertrand,AIDS),revenue=TRUE,shares=TRUE,parameters=FALSE,digits=2,...)

Summarizes the effect of the merger, including price and revenue changes. Setting ‘revenue’ equal to FALSE reports quantities rather than revenues. Setting ‘shares’ to FALSE reports quantities rather than than shares (when possible). Setting ‘parameters’ equal to TRUE reports all demand parameters. ‘digits’ controls the number of significant digits reported in output. ‘...’ allows other arguments to be passed to a CV method.

upp

signature(object)

Calculate the Upwards Pricing Pressure (upp) index.