% USC 2025

clear
close all
clc

% leer datos
Eco_n1=load("Eco_n1.txt");

% calibrar el modelo
[ns, y, a,  beta, alpha, theta, LT, KT ] = Calibrar(Eco_n1);

% Paso 1: solucion del equilibrio
w=1; % ley de Walras
r=1;
p=ones(1,ns);
ytot=y;


% Paso 2:
% calcular precios pp usando condiciones de beneficios cero (libre entrada)

for j=1:ns
    pp(j)=(1/beta(j))*((r/alpha(j))^alpha(j)*(w/(1-alpha(j))^(1-alpha(j))));
    for i=1:ns
        pp(j)=pp(j)+a(i,j)*p(j);
    end
end

% Paso 3:
% demandas de capital
xl=(ytot./beta).*((1-alpha).*r./(alpha.*w)).^alpha;

% Paso 4:
% precio inversión
pinv=0;
for i=1:2
    pinv=pinv+a(i,1+ns)*p(i);
end

% Paso 5:
% demandas de bienes finales
Ycon=w*LT+r*KT;
for i=1:2
    c(i)=theta(i)*Ycon/p(i);
end
inv=theta(ns+1)*Ycon/pinv;

%Paso 6:
% consumos intermedios
for j=1:ns %sector
    for i=1:ns % a quien compra
        x(i,j)=a(i,j)*ytot(j);
    end
end
xinv=a(:,ns+1).*inv;


% Paso 7:
% condiciones de equilibrio

ff=zeros(1,2*ns+1);
ff(1)=LT-sum(xl); % oferta de trabajo = demanda de trabajo
for i=1:2
    ff(1+i)=ytot(i)-c(i)-xinv(i)-sum(x(i,:),2); % oferta de bienes = demanda de bienes
    ff(1+ns+i)=pp(i)-p(i);  %beneficios cero
end