The “Bertrand” class is a building block used to create other classes in this package. As such, it is most likely to be useful for developers who wish to code their own merger calibration/simulation routines.
Each class below contains all the information needed to calibrate a specific type of demand system and perform a merger simulation analysis under the assumption that firms are playing a differentiated products Bertrand pricing game.
The “Linear” class has the information for a Linear demand system.
The “LogLin” class has the information for a Log-Linear demand system.
The “AIDS” class has the information for a AIDS demand system.
The “PCAIDS” class has the information for a PCAIDS demand system
The “PCAIDSNests” class has the information for a nested PCAIDS demand system
Below, let k denote the number of products produced by all firms.
sharesA length k vector containing observed output. Depending upon the model, output will be measured in units sold, quantity shares, or revenue shares.
mcDeltaA length k vector where each element equals the proportional change in a product's marginal costs due to the merger.
slopesA k x (k+1) matrix of linear demand intercepts and slope coefficients
subsetA 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.
interceptsA length k vector of demand intercepts. (Linear only)
pricesA length k vector product prices. (Linear only)
quantitiesA length k vector of product quantities. (Linear only)
marginsA length k vector of product margins. All margins must be between 0 and 1. (Linear only)
diversionA k x k matrix of diversion ratios with diagonal elements equal to -1.
priceStartA length k vector of prices used as the initial guess in the nonlinear equation solver. (Linear and AIDS only)
symmetryIf TRUE, requires the matrix of demand slope coefficients to be consistent with utility maximization theory. Default is false. (Linear and LogLin only)
insideSizeA positive number equal to total pre-merger revenues for all products included in the simulation. (AIDS only)
mktElastA negative number equal to the industry pre-merger price elasticity. (AIDS only)
parmStartA length 2 vector who elements equal to an initial of a single diagonal element of the matrix of slope coefficients, as well as the market elasticity. (AIDS only)
priceDeltaA length k vector containing the simulated price effects from the merger. (AIDS only)
knownElastA negative number equal to the pre-merger own-price elasticity for any of the k products. (PCAIDS only)
knownElastIndexAn integer equal to the position of the `knownElast' product in the ‘shares’ vector. (PCAIDS only)
nestsA length k vector identifying which nest a product belongs to. (Nested PCAIDS only)
nestsParmsA length k vector containing nesting parameters. (Nested PCAIDS only)
For Bertrand, objects can be created by calls of the form new("Bertrand", ...).
For Linear, objects can be created by using the constructor function linear.
For LogLin, objects can be created by using the constructor function loglin.
For AIDS, objects can be created by using the constructor function aids.
For PCAIDS, objects can be created by using the constructor pcaids.
For nested PCAIDS, objects can be created by using the constructor pcaids.nests.
Bertrand: Class Antitrust, directly.
Linear: Class Bertrand, directly.
Class Antitrust, by class Bertrand, distance 2.
LogLin: Class Linear, directly.
Class Bertrand, by class Linear, distance 2.
Class Antitrust, by class Bertrand, distance 3.
AIDS: Class Linear, directly. Class Bertrand, by class “Linear”, distance 2.
PCAIDS: Class AIDS, directly. Class Linear, by class AIDS, distance 2.
Class Bertrand, by class Linear, distance 3. Class Antitrust, by class Bertrand, distance 4.
Nested PCAIDS: Class PCAIDS, directly. Class AIDS, by class PCAIDS, distance 2.
Class Linear, by class AIDS, distance 3. Class Bertrand, by class Linear, distance 4.
Class Antitrust, by class Bertrand, distance 5.
Charles Taragin ctaragin+antitrustr@gmail.com
showClass("Bertrand") # get a detailed description of the class
showClass("Linear") # get a detailed description of the class
showClass("LogLin") # get a detailed description of the class
showClass("AIDS") # get a detailed description of the class
showClass("PCAIDS") # get a detailed description of the class
showClass("PCAIDSNests") # get a detailed description of the class
Run the code above in your browser using DataLab