Carregando WebR...
# ============================================ # Estatica Comparativa: choques de oferta e demanda # Exemplo: mercado de petroleo (ANPEC 2023) # ============================================ # --- Parametros iniciais --- p0 <- 80; Q0 <- 100 # equilibrio inicial e_D <- -0.4 # elasticidade demanda e_S <- 0.2 # elasticidade oferta # Derivar curvas lineares b <- -e_D * Q0 / p0 # |dQd/dp| = 0.5 d <- e_S * Q0 / p0 # dQs/dp = 0.25 a_d <- Q0 + b * p0 # intercepto demanda = 140 c_s <- Q0 - d * p0 # intercepto oferta = 80 cat("====== ESTATICA COMPARATIVA ======\n") cat("Demanda: Qd =", a_d, "-", b, "p\n") cat("Oferta: Qs =", c_s, "+", d, "p\n") cat("Equilibrio inicial: p* =", p0, " Q* =", Q0, "\n\n") # --- Choque 1: embargo reduz oferta em 30 --- delta_S <- -30 c_s2 <- c_s + delta_S p1 <- (a_d - c_s2) / (b + d) Q1 <- a_d - b * p1 cat("--- Choque de oferta: embargo (-30 MM barris) ---\n") cat("Nova oferta: Qs' =", c_s2, "+", d, "p\n") cat("Novo equilibrio: p =", round(p1, 1), " Q =", round(Q1, 1), "\n") cat("Variacao: dp = +", round(p1 - p0, 1), " dQ = ", round(Q1 - Q0, 1), "\n\n") # --- Choque 2: embargo + queda de demanda de 20 --- delta_D <- -20 a_d2 <- a_d + delta_D p2 <- (a_d2 - c_s2) / (b + d) Q2 <- a_d2 - b * p2 cat("--- Choque duplo: embargo + novas tecnologias (-20 MM) ---\n") cat("Nova demanda: Qd' =", a_d2, "-", b, "p\n") cat("Novo equilibrio: p =", round(p2, 1), " Q =", round(Q2, 1), "\n") cat("p2 =", round(p2, 1), "> p0 =", p0, "=> preco SUBIU mesmo com queda na demanda!\n\n") cat("--- Regra geral ---\n") cat("dp/d(choque_demanda) > 0 (demanda sobe => preco sobe)\n") cat("dp/d(choque_oferta) < 0 (oferta cai => preco sobe)\n") cat("Magnitude depende das elasticidades!\n") # --- Grafico --- par(mar = c(4.5, 4.5, 3, 2), bg = "#f8f9fa") p_seq <- seq(0, 200, length = 500) Qd0 <- a_d - b * p_seq Qs0 <- c_s + d * p_seq Qs1 <- c_s2 + d * p_seq Qd2 <- a_d2 - b * p_seq plot(Qd0, p_seq, type = "l", lwd = 3, col = "#0d6efd", xlim = c(0, 180), ylim = c(0, 180), xlab = "Q (milhoes barris/dia)", ylab = "p (US$/barril)", main = "Estatica comparativa: mercado de petroleo") lines(Qs0, p_seq, lwd = 3, col = "#dc3545") lines(Qs1, p_seq, lwd = 2, col = "#dc3545", lty = 2) lines(Qd2, p_seq, lwd = 2, col = "#0d6efd", lty = 2) # Equilibrios points(Q0, p0, pch = 19, col = "#198754", cex = 2) points(Q1, p1, pch = 17, col = "#fd7e14", cex = 1.8) points(Q2, p2, pch = 15, col = "#6f42c1", cex = 1.5) text(Q0, p0, paste0(" A: p=", p0, ", Q=", Q0), pos = 4, cex = 0.75, col = "#198754", font = 2) text(Q1, p1, paste0(" B: p=", round(p1), ", Q=", round(Q1)), pos = 4, cex = 0.75, col = "#fd7e14", font = 2) text(Q2, p2, paste0(" C: p=", round(p2,1), ", Q=", round(Q2,1)), pos = 2, cex = 0.75, col = "#6f42c1", font = 2) # Setas arrows(Q0, p0 + 3, Q1, p1 - 3, col = "#fd7e14", lwd = 1.5, length = 0.08) arrows(Q1, p1 + 3, Q2, p2 - 3, col = "#6f42c1", lwd = 1.5, length = 0.08) legend("topright", legend = c("Demanda (D)", "Oferta (S)", "Oferta pos-embargo (S')", "Demanda pos-tecnologia (D')"), col = c("#0d6efd", "#dc3545", "#dc3545", "#0d6efd"), lwd = c(3, 3, 2, 2), lty = c(1, 1, 2, 2), cex = 0.7, bg = "white")
▶ Executar
↻ Resetar
(Aguardando WebR...)