Learn R Programming

antitrust (version 0.99.10)

Cournot-class: Class “Cournot”

Description

The “Cournot” 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.

Arguments

Objects from the Class

Objects can be created by calls of the form new("Cournot", ...).

Slots

Let k denote the number of products and n denote the number of plants.

intercepts:

A length k vector containing the calibrated demand intercept.

mcfunPre:

A length n list whose elements equal a function that calculates a plant's pre-merger marginal cost.

mcfunPost:

A length n list whose elements equal a function that calculates a plant's post-merger marginal cost.

vcfunPre:

A length n list whose elements equal a function that calculates a plant's pre-merger variable cost.

vcfunPost:

A length n list whose elements equal a function that calculates a plant's post-merger variable cost.

prices:

A length k vector of product prices.

quantities:

An n x k matrix of plant quantities produced for each product.

margins:

An n x k matrix of plant product margins.

quantityPre:

An n x k matrix of predicted pre-merger quantities.

quantityPost:

An n x k matrix of predicted post-merger quantities.

quantityStart:

A length n x k vector of starting quantities for the non-linear solver.

productsPre:

An n x k logical matrix qhose elements are TRUE if a plant produces a product pre-merger and FALSE otherwise.

productsPost:

An n x k logical matrix qhose elements are TRUE if a plant produces a product post-merger and FALSE otherwise.

capacitiesPre:

A length-n logical vector whose elements equal to pre-merger plant capacities. Infinite values are allowed.

capacitiesPost:

A length-n logical vector whose elements equal to post-merger plant capacities. Infinite values are allowed.

demand:

A length k character vector specifying whether product demand is linear ("linear") or log-linear ("log").

cost:

A length k character vector equal to "linear" if a plant's marginal cost curve is assumed to be linear or "constant" if a plant's marginal curve is assumed to be constant. Returns an error if a multi-plant firm with constant marginal costs does not have capacity constraints.

mktElast:

A length k vector of market elasticities.

Extends

Class '>Bertrand, directly. Class '>Antitrust, by class '>Bertrand, distance 2.

Methods

Many of the methods described below contain a ‘preMerger’ and ‘revenue’ argument. The ‘preMerger’ takes on a value of TRUE or FALSE, where TRUE invokes the method using the pre-merger values, while FALSE invokes the method using the post-merger ownership structure. The ‘revenue’ argument also takes on a value of TRUE or FALSE, where TRUE invokes the method using revenues, while FALSE invokes the method using quantities

calcMC

signature(object,preMerger=TRUE)

Calculates marginal cost for each product.
calcVC

signature(object,preMerger=TRUE)

Calculates variable cost for each product.
calcMargins

signature(object, preMerger = TRUE)

Compute either pre-merger or post-merger equilibrium margins under the assumption that firms play a multi-product Cournot Nash pricing game.
cmcr

signature(object)

Calculates compensated marginal cost reduction, the percentage decrease in the marginal costs of the merging parties' products needed to offset a post-merger price increase.
HypoMonTest

signature(object,prodIndex,ssnip=.05,...)

HypoMonTest implements the Hypothetical Monopolist Test for a given ‘ssnip’.
calcPriceDeltaHypoMon

signature(object,prodIndex,...)

Compute the proportional difference in product prices between the prices of products in ‘prodIndex’ (i.e. prices set by the Hypothetical Monopolist) and prices set in the pre-merger Cournot equilibrium. ‘...’ may be used to pass arguments to the optimizer.
hhi

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

Compute either the pre-merger or post-merger Herfindahl-Hirschman Index (HHI) under the assumption that firms play a multi-product Cournot Nash pricing game.
diversion

signature(object, preMerger = TRUE)

Computes a k x k matrix of diversion ratios.
summary

signature(object,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.
cmcr

signature(object)

Calculates Compensating Marginal Cost Reduction (CMCR).

Examples

Run this code
# NOT RUN {
showClass("Cournot")           # get a detailed description of the class
showMethods(classes="Cournot") # show all methods defined for the class
# }

Run the code above in your browser using DataLab