Carregando WebR...
# ============================================ # Analise de fusao via HHI # Simulacao de fusao horizontal # ============================================ cat("====== ANALISE DE FUSAO VIA HHI ======\n\n") # --- Mercado pre-fusao --- # Market shares (%) de 6 firmas shares <- c(30, 25, 18, 12, 10, 5) nomes <- paste0("Firma ", LETTERS[1:6]) HHI_pre <- sum(shares^2) cat("--- Mercado pre-fusao ---\n") cat(sprintf("%-10s %s\n", "Firma", "Share (%)")) cat(strrep("-", 22), "\n") for (i in seq_along(shares)) { cat(sprintf("%-10s %5.1f%%\n", nomes[i], shares[i])) } cat(sprintf("\nHHI pre-fusao = %.0f\n", HHI_pre)) classif <- ifelse(HHI_pre < 1500, "Nao concentrado", ifelse(HHI_pre < 2500, "Moderadamente concentrado", "Altamente concentrado")) cat("Classificacao:", classif, "\n\n") # --- Fusao: Firma A + Firma B --- cat("--- Fusao: Firma A + Firma B ---\n") shares_pos <- c(shares[1] + shares[2], shares[3:6]) nomes_pos <- c("A+B", nomes[3:6]) HHI_pos <- sum(shares_pos^2) delta_HHI <- HHI_pos - HHI_pre # Propriedade: delta_HHI = 2 * s_A * s_B delta_formula <- 2 * shares[1] * shares[2] cat(sprintf("%-10s %s\n", "Firma", "Share (%)")) cat(strrep("-", 22), "\n") for (i in seq_along(shares_pos)) { cat(sprintf("%-10s %5.1f%%\n", nomes_pos[i], shares_pos[i])) } cat(sprintf("\nHHI pos-fusao = %.0f\n", HHI_pos)) cat(sprintf("Delta HHI = %.0f\n", delta_HHI)) cat(sprintf("Verificacao: 2*s_A*s_B = 2*%d*%d = %.0f\n\n", shares[1], shares[2], delta_formula)) # --- Avaliacao CADE/DOJ --- cat("--- Avaliacao antitruste ---\n") if (HHI_pos >= 2500 & delta_HHI > 200) { cat("ALERTA: mercado altamente concentrado + delta > 200\n") cat("=> Fusao recebe escrutinio detalhado\n") } else if (HHI_pos >= 1500 & delta_HHI > 100) { cat("ATENCAO: mercado moderadamente concentrado + delta > 100\n") cat("=> Fusao levanta preocupacoes\n") } else { cat("OK: fusao provavelmente aprovada sem restricoes\n") } # --- Cenarios alternativos --- cat("\n--- Cenarios alternativos de fusao ---\n") cat(sprintf("%-12s %-10s %-10s %-10s\n", "Fusao", "HHI pos", "Delta", "Alerta?")) cat(strrep("-", 45), "\n") combos <- list(c(1,2), c(1,3), c(2,3), c(3,4), c(5,6)) for (combo in combos) { i <- combo[1]; j <- combo[2] s_new <- c(shares[i] + shares[j], shares[-c(i,j)]) hhi_new <- sum(s_new^2) d_hhi <- hhi_new - HHI_pre alerta <- ifelse(hhi_new >= 2500 & d_hhi > 200, "SIM", ifelse(hhi_new >= 1500 & d_hhi > 100, "atencao", "nao")) cat(sprintf("%-12s %-10.0f %-10.0f %-10s\n", paste0(LETTERS[i], "+", LETTERS[j]), hhi_new, d_hhi, alerta)) } # --- Grafico --- par(mfrow = c(1, 2), mar = c(5, 4.5, 3, 1), bg = "#f8f9fa") # Painel 1: Barras pre vs pos fusao bp <- barplot( rbind(c(shares, 0), c(shares_pos, NA)), beside = TRUE, names.arg = c(nomes, ""), col = c("#0d6efd", "#dc3545"), main = "Market shares: pre vs. pos-fusao", ylab = "Share (%)", ylim = c(0, 60), las = 2, cex.names = 0.7) legend("topright", legend = c("Pre-fusao", "Pos-fusao (A+B)"), fill = c("#0d6efd", "#dc3545"), cex = 0.65, bg = "white") # Painel 2: HHI com faixas hhi_vals <- c(HHI_pre, HHI_pos) bp2 <- barplot(hhi_vals, names.arg = c("Pre-fusao", "Pos-fusao"), col = c("#0d6efd", "#dc3545"), main = paste0("HHI: Delta = +", delta_HHI), ylab = "HHI", ylim = c(0, max(HHI_pos) * 1.3)) # Faixas abline(h = 2500, col = "#dc3545", lty = 2, lwd = 2) abline(h = 1500, col = "#fd7e14", lty = 2, lwd = 2) text(0.5, 2600, "Altamente concentrado", col = "#dc3545", cex = 0.65, font = 2, pos = 4) text(0.5, 1600, "Moderadamente", col = "#fd7e14", cex = 0.65, font = 2, pos = 4) text(bp2, hhi_vals + 80, labels = round(hhi_vals), font = 2, cex = 0.9)
▶ Executar
↻ Resetar
(Aguardando WebR...)