Carregando WebR...
# ============================================ # Backward-Bending com utilidade CES # Baseado no Exercicio 17.6 # ============================================ # U(C,L) = (alpha*C^rho + (1-alpha)*L^rho)^(1/rho) # sigma = 1/(1-rho) = elasticidade de substituicao alpha <- 0.5 TT <- 24 # dotacao de tempo V <- 0 # renda nao salarial # Testar varias elasticidades de substituicao sigma_vals <- c(2.0, 1.0, 0.5, 0.3) cat("====== BACKWARD-BENDING COM CES ======\n") cat("U = (alpha*C^rho + (1-alpha)*L^rho)^(1/rho)\n") cat("alpha =", alpha, " T =", TT, " V =", V, "\n\n") # Demanda marshalliana por lazer (CES, V=0): # L*(w) = T / (1 + ((alpha)/(1-alpha))^sigma * w^(sigma-1)) # Quando sigma < 1 => sigma-1 < 0 => backward-bending possivel cat("--- Oferta de trabalho para diferentes sigma ---\n\n") par(mar = c(4.5, 4.5, 3, 2), bg = "#f8f9fa") w_seq <- seq(0.1, 50, length = 500) cols <- c("#0d6efd", "#198754", "#dc3545", "#6f42c1") # Primeiro calcular os ranges plot(NULL, xlim = c(0, TT), ylim = c(0, max(w_seq)), xlab = "Horas trabalhadas (h)", ylab = "Salario (w)", main = "Oferta de trabalho: papel da elasticidade") for (k in seq_along(sigma_vals)) { sig <- sigma_vals[k] ratio <- (alpha / (1 - alpha))^sig L_star <- TT / (1 + ratio * w_seq^(sig - 1)) h_star <- TT - L_star lines(h_star, w_seq, lwd = 3, col = cols[k], lty = ifelse(k <= 2, 1, 2)) # Encontrar h maximo (pico da backward-bending) h_max <- max(h_star) w_peak <- w_seq[which.max(h_star)] if (sig < 1) { cat(sprintf("sigma = %.1f: backward-bending!\n", sig)) cat(sprintf(" h maximo = %.2f em w = %.1f\n", h_max, w_peak)) points(h_max, w_peak, pch = 19, col = cols[k], cex = 1.5) } else if (sig == 1) { cat(sprintf("sigma = %.1f (Cobb-Douglas): h* = alpha*T = %.0f (constante)\n", sig, alpha * TT)) } else { cat(sprintf("sigma = %.1f: sempre positivamente inclinada\n", sig)) } } cat("\n--- Resumo ---\n") cat("sigma > 1: oferta sempre positiva (ES domina)\n") cat("sigma = 1: Cobb-Douglas, oferta perfeitamente inelastica\n") cat("sigma < 1: backward-bending (ER domina para w alto)\n") cat("Quanto menor sigma, mais rapido a curva se volta.\n") # Linha vertical para Cobb-Douglas abline(v = alpha * TT, col = "#198754", lty = 3, lwd = 1) legend("topright", legend = paste0("sigma = ", sigma_vals), col = cols, lwd = 3, lty = c(1, 1, 2, 2), cex = 0.7, bg = "white")
▶ Executar
↻ Resetar
(Aguardando WebR...)