Muy probablemente desde un punto de vista didáctico tiene mayor utilidad construir un modelo que "conocerlo" teóricamente; la idea es aplicar el lema "aprender haciendo", es decir ensuciarnos las manos; si bien es cierto lo que se construye es una economía de juguete, es de mi parecer que hacer este ejercicio puede aclarar de forma abismal este simple modelo, permitiendo al interesado completar el proceso de aprendizaje.
¿Por que insistimos tanto en el modelo de solow? si bien es cierto hay modelos más estilizados, el corazón de la idea del crecimiento siempre llevará "el sabor" de solow, por lo tanto conocerlo a la perfección, sumado a un poco de optimización dinámica y manejo de matlab le ayudará a comprender cualquier modelo de crecimiento, como el de Ramsey por ejemplo.
A continuación se presenta una simple programación que puede servir de referencia:
%% modelo de solow-swan 1956
clear
clc
% Creando los vectores de las variables de interés
Y=zeros(100,1); %en niveles
K=zeros(100,1);%en niveles
L=zeros(100,1);%en niveles
I=zeros(100,1);%en niveles
C=zeros(100,1);%en niveles
Yper=zeros(100,1);% en niveles percápita
creY=zeros(100,1);% tasas de crecimiento
creC=zeros(100,1);% tasas de crecimiento
creK=zeros(100,1);% tasas de crecimiento
A=ones(100,1); %Constante A de tecnología
shockalea=rand(100,1); %Shock aleatorio
gamma=input(' ingrese la tasa de depreciación del capital ' ); %depreciación del capital de la economía números entre 0 y 1
n=input(' ingrese la tasa de crecimiento de la población ' ); %tasa de crecimiento de la poblacion números entre 0 y 1
alpha=input(' ingrese la participación del capital ' ); %participación del capital números entre 0 y 1
c=input(' ingrese la propensión marginal a consumir ' ); %propensión marginal a consumir números entre 0 y 1
s=1-c; %propensión marginal a ahorrar
e=input('si desea shocks aleatorios ingrese valor 1, de lo contrario ingrese 0 ') %opción de shock aleatorio
Kss=(s*A(1,1)/(n+gamma))^(1/(1-alpha))
Yss= A(1,1)*(Kss)^(alpha)
K(1,1)=input(' ingrese el capital inicial, recuerde observar el capital per capita de steady state KSS ' );% capital inicial, se recomienda utilizar valores menores al Kss
L(1,1)=input(' ingrese la población inicial ' ); % pobración inicial (utilizar numeros entre 0 y 2)
format bank %formato para los numeros de salida
for i=1:100; %iteraciones
Y(i,1)=A(i,1)*(K(i,1)^alpha)*(L(i,1)^(1-alpha))+ e*0.5*shockalea(i,1);
C(i,1)=c*Y(i,1);
I(i,1)=s*Y(i,1);
K(i+1,1)=I(i,1)- gamma*K(i,1)+K(i,1);
L(i+1,1)=(1+n)*L(i,1);
Yper(i,1)=Y(i,1)/L(i,1);
end
for i=1:99;
creY(i+1,1)=(Y(i+1)/Y(i,1))-1;
creC(i+1,1)=(C(i+1)/C(i,1))-1;
creK(i+1,1)=(K(i+1)/K(i,1))-1;
end
%para comprobar las tasas de crecimiento de largo plazo
creY(100,1)
creC(100,1)
creK(100,1)
%Graficar las variables relevantes
subplot(2,3,1); plot(Y)
title('Ingreso')
subplot(2,3,2); plot(C)
title('Consumo')
subplot(2,3,3); plot(Yper)
title('Ingreso Per cápita')
subplot(2,3,4); plot(I)
title('Inversión')
subplot(2,3,5); plot(creY)
title('crecimiento ingreso')
subplot(2,3,6); plot(creK)
title('crecimiento capital')
¿Por que insistimos tanto en el modelo de solow? si bien es cierto hay modelos más estilizados, el corazón de la idea del crecimiento siempre llevará "el sabor" de solow, por lo tanto conocerlo a la perfección, sumado a un poco de optimización dinámica y manejo de matlab le ayudará a comprender cualquier modelo de crecimiento, como el de Ramsey por ejemplo.
A continuación se presenta una simple programación que puede servir de referencia:
%% modelo de solow-swan 1956
clear
clc
% Creando los vectores de las variables de interés
Y=zeros(100,1); %en niveles
K=zeros(100,1);%en niveles
L=zeros(100,1);%en niveles
I=zeros(100,1);%en niveles
C=zeros(100,1);%en niveles
Yper=zeros(100,1);% en niveles percápita
creY=zeros(100,1);% tasas de crecimiento
creC=zeros(100,1);% tasas de crecimiento
creK=zeros(100,1);% tasas de crecimiento
A=ones(100,1); %Constante A de tecnología
shockalea=rand(100,1); %Shock aleatorio
gamma=input(' ingrese la tasa de depreciación del capital ' ); %depreciación del capital de la economía números entre 0 y 1
n=input(' ingrese la tasa de crecimiento de la población ' ); %tasa de crecimiento de la poblacion números entre 0 y 1
alpha=input(' ingrese la participación del capital ' ); %participación del capital números entre 0 y 1
c=input(' ingrese la propensión marginal a consumir ' ); %propensión marginal a consumir números entre 0 y 1
s=1-c; %propensión marginal a ahorrar
e=input('si desea shocks aleatorios ingrese valor 1, de lo contrario ingrese 0 ') %opción de shock aleatorio
Kss=(s*A(1,1)/(n+gamma))^(1/(1-alpha))
Yss= A(1,1)*(Kss)^(alpha)
K(1,1)=input(' ingrese el capital inicial, recuerde observar el capital per capita de steady state KSS ' );% capital inicial, se recomienda utilizar valores menores al Kss
L(1,1)=input(' ingrese la población inicial ' ); % pobración inicial (utilizar numeros entre 0 y 2)
format bank %formato para los numeros de salida
for i=1:100; %iteraciones
Y(i,1)=A(i,1)*(K(i,1)^alpha)*(L(i,1)^(1-alpha))+ e*0.5*shockalea(i,1);
C(i,1)=c*Y(i,1);
I(i,1)=s*Y(i,1);
K(i+1,1)=I(i,1)- gamma*K(i,1)+K(i,1);
L(i+1,1)=(1+n)*L(i,1);
Yper(i,1)=Y(i,1)/L(i,1);
end
for i=1:99;
creY(i+1,1)=(Y(i+1)/Y(i,1))-1;
creC(i+1,1)=(C(i+1)/C(i,1))-1;
creK(i+1,1)=(K(i+1)/K(i,1))-1;
end
%para comprobar las tasas de crecimiento de largo plazo
creY(100,1)
creC(100,1)
creK(100,1)
%Graficar las variables relevantes
subplot(2,3,1); plot(Y)
title('Ingreso')
subplot(2,3,2); plot(C)
title('Consumo')
subplot(2,3,3); plot(Yper)
title('Ingreso Per cápita')
subplot(2,3,4); plot(I)
title('Inversión')
subplot(2,3,5); plot(creY)
title('crecimiento ingreso')
subplot(2,3,6); plot(creK)
title('crecimiento capital')
Interesante para fines didacticos
ResponderEliminarHola, muy bueno cuales serían las indicaciones para hacerlo correr, o funcionar
ResponderEliminarúnicamente tendría que copiarlo y pegarlo en un script de matlab, y correrlo. Al correrlo se solicitaran valores (parametros) que permite resolver el modelo.
Eliminar