View source: R/bargain_NP_vert_seq.R
| bargain_NP_vert_seq_gnl | R Documentation |
Nash Product for use in vertical model with sequential timing
bargain_NP_vert_seq_gnl(
w_start,
product_max,
price_w,
own_down,
own_up,
alpha,
delta,
cost_w,
cost_r,
lambda,
p_R0,
sigma,
nest_allocation,
mu,
showAll = FALSE
)
w_start |
Initial wholesale price for product for which to maximize Nash Product |
product_max |
Index of product for which to maximize Nash Product |
price_w |
Upstream or wholesale prices |
own_down |
Ownership matrix for downstream firms |
own_up |
Ownership matrix for upstream firms |
alpha |
Price coefficient |
delta |
Mean values |
cost_w |
Marginal costs for upstream firm for each product |
cost_r |
Marginal costs for downstream firm for each product |
lambda |
Bargaining power of the buyer/retailer |
p_R0 |
Retail prices starting values |
sigma |
Contract type; value between 0 and 1 where 0 is linear price, 1 is two-part tariff |
nest_allocation |
For generalized nested logit demand, a J-by-K matrix where each element (j,k) designates the membership of good j in nest k. Rows should sum to 1. |
mu |
Nesting parameters for each nest |
showAll |
logical; if true, returns gains for trade for every product |
This function calculate the Nash Product from a Nash bargaining model. This version allows for nested logit with overlapping nests.
The first-order conditions
own_down <- paste0("R",rep(c(1,2,3),each=2))
own_up <- paste0("W",rep(c(1,2),3))
B1 <- 1 * matrix( c(own_down == "R1",
own_down == "R2",
own_down == "R3",
own_up == "W1",
own_up == "W2"),
ncol = 5, nrow = 6)
a1 <- B1 * 0.5
mu1 <- rep(1.0,5)
bargain_NP_vert_seq_gnl(w_start = 1.5, product_max = 1,
price_w = c(1.6, 1.6, 1.6, 1.6, 1.6, 1.6),
own_down = own_down,
own_up = own_up,
alpha = -0.9, delta = c(0.2, 0.3, 0.9, 1.0, 0.8, 0.9),
cost_w = rep(.2, times = 6),
cost_r = rep(.1, times = 6),
lambda = 0.5, sigma = 0,
p_R0 = c(2.9, 2.9, 3.0, 3.0, 3.0, 3.0),
nest_allocation = a1, mu = mu1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.