Marco TeĂłrico

El modelo de Ramsey nos dice la senda Ăłptima del consumo, el ahorro y la inversiĂłn

La tasa de crecimiento del consumo es la siguiente:

\(\begin{equation} \frac{\dot{c}}{c} = \frac{1}{\theta} \left( f'(k) - \delta - \rho \right) \end{equation}\)

Para simularla tenemos que usar las siguientes librerĂ­as:

library(deSolve) #Tiene varios modelos macro para calcular
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## âś” dplyr     1.1.4     âś” readr     2.1.5
## âś” forcats   1.0.0     âś” stringr   1.5.1
## âś” ggplot2   3.5.1     âś” tibble    3.2.1
## âś” lubridate 1.9.3     âś” tidyr     1.3.1
## âś” purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## âś– dplyr::filter() masks stats::filter()
## âś– dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors

Definición de parámetros

Primero, hay que definir todos los parámetros de nuestra ecuación de equilibrio del consumo.

r<-1 #Nuestra tasa de interés, definida como la productividad marginal de capital (Asumimos solo un capital)
rho<-0.9 #Nuestra tasa de impaciencia en t o de preferencia temporal de consumo
rho1<-0.6 # Nuestra tasa de impaciencia o de preferencia temporal de consumo en t+1
theta<-0.5 # Es la tasa de sustitución intertemporal del consumo (entre mayor es, más le cuesta esperar por consumir a nuestro agente)
g<-0.9 #Tasa de depreciaciĂłn de capital

coninital <- c(con = 1) #Vamos a asumir que nuestro consumo inicial empieza en 1

times <- seq(from = 0, to = 100, by = 0.2) #Le voy a decir al R que me simule 100 periodos.

ComputaciĂłn del modelo

Una vez que he computado mis parámetros, me es posible estimar mi modelo. Recordemos que el resultado de la mayoría de modelos macro son un sistema de ecuaciones diferenciales (Ramsey, Solow), también llamadas como EDO. Es por eso que vamos a necesitar la librería deSolve para poder solucionar mis EDOs

Lo sigueinte es plantear mis ecuaciones:

#Comenzemos con mi ecuaciĂłn en t: 
cdot <- function(t, con, parms){
  list((((r-rho)/theta)-g)*con)}

#Luego con la ecuaciĂłn en t+1 (para este ejercicio solo voy a cambiar la tasa de impaciencia en t+1 el resto lo voy a dejar constante, aunque podrĂ­a cambiar: 

cdot1<-function(t,con,prams){
  list((((r-rho1)/theta)-g)*con)
}

Finalmente, resuelvo

#A la librerĂ­a le debo decir lo siguente

#ode(consumo_inicial, cuantos_periodos_, ecuaciĂłn_a_resolver)
#Recordemos que debemos hacer esto para cada ecuaciĂłn y tengo dos: cdot y cdot1, para t y t+1

out <- ode(y = coninital, times = times, func = cdot,
           parms = NULL)
out1<-ode(y = coninital, times = times, func = cdot1,
          parms = NULL)

Listo, R se encarga de resolver y puede pedirle que te haga los gráficos de consumo óptimo, inversión y demás:

plot(out,out1, main = "Senda de consumo Ăłptimo", lwd = 2)