%==========================================================================
%                           Basismodell Basic_2
%                                              
%           Land A begibt Bonds. A und B-Bürger können sie kaufen
%           Land B begibt Bonds. A und B-Bürger können sie kaufen
%           Es gibt FDI, indem die shares aller Firmen von Bürgern aller
%           Länder gekauft werden können.
%           Es gibt Präferenzen für Remittances in die anderen Länder
% 
% Um sicherzustellen, dass 1/Ra>ba, muss tab1 und tab2 hinreichend groß
% gesetzt werden.
%
% Um die Blanchard-Kahn-Bedingungen zu erfüllen, braucht man hier offenbar
% auch die Abhängigkeit der Taylor-Regel vom eigenen Output.
%==========================================================================



var 

lneab         % Wechselkurs Anzahl Einheiten A pro Einheit B
lnebc
lnRa          % Nominalzinsen
lnRb           
lnRc
lnpa 
lnpb
lnpc
lnc1a         % Konsum von Haushalt 1 des in A produzierten Gutes
lnc2b
lnc3c
b1a                         % Bondnachfragen nach Bonds des eigenen Landes
b2b
b3c
b2a                         % Bondnachfragen nach Bonds anderer Länder
b2c
b1b
b1c
b3a
b3b
lnlncut1sa    % cut1 und cut2 sind Zahlen zwischen 0 und 1 in der Form cut=exp(-exp(lnlncut)). 
lnlncut2sa    % Daraus definieren wir uns drei zu Eins addierbare shares als s1=cut2*cut1, s1+s2=cut1, s3=1-s1-s2
lnlncut1sb    % Damit sind die shares immer positiv und immer Eins in der Summe.
lnlncut2sb    % Die explizite Formel der shares lautet: s1=cut1*cut2; s2=cut1*(1-cut2); s3=1-cut1; 
lnlncut1sc    % sa bezeichnet die shares für die Gewinne von a, etc.  
lnlncut2sc    % Die Zahlen 1 und 2 haben nichts mit den Haushalten zu tun sondern erlauben die Berechnung von zwei Schnittpunkten im Intervall (0,1) 
lnx1b          % Transfers von Haushalt 1 in Land B
lnx1c
lnx2a
lnx2c
lnx3a
lnx3b
lnspa          % share price for profits of firms in country a
lnspb
lnspc         % Diese ersten Variablen (bis hier) werden in fsolve gefunden.
lnc1b         % Konsum der Güter anderer Länder
lnc1c
lnc2a
lnc2c
lnc3a
lnc3b
lnwa           % Nominallöhne
lnwb 
lnwc
lnla           % Arbeitsnachfrage von Firmen in a
lnlb
lnlc
lnn1           % Arbeitsangebot Haushalt 1
lnn2
lnn3
ln_ra          % Bruttorealzins
ln_rb
ln_rc
lnka           % Kapital
lnkb 
lnkc
lnmca          % Marginal cost
lnmcb
lnmcc
lndpa          % price dispersion
lndpb
lndpc
lninfa         % Inflation
lninfb
lninfc
lnpsa          % Optimaler Preis in A geg. die Preisrigidität                                                                          
lnpsb 
lnpsc
lnifs1a 
lnifs2a 
lnifs3a 
lnifs4a 
lnifs1b 
lnifs2b 
lnifs3b 
lnifs4b 
lnifs1c
lnifs2c
lnifs3c
lnifs4c
lnwsa                       % Optimaler Lohn in A geg. die Lohnrigidität
lnwsb 
lnwsc
lnc1                        % Aggregierter Konsum
lnc2 
lnc3                        % Die länderspezifischen Konsumkomponenten stehen als Variablen von fsolve ganz oben 
lnya                        % Produktion in Land A
lnyb
lnyc
lnia                        % Investitionsnachfrage in Land A 
lnib 
lnic
lnm1                        % Nominale Geldnachfragen der Haushalte
lnm2
lnm3
lnla1                       % Lagrange-Multiplikatoren Budgetrestriktion
lnla2
lnla3
lnmu1                       % Lagrange-Multiplikatoren Cash-in-advance constraint
lnmu2
lnmu3
lnq1                        % Lagrange-Multiplikatoren Kapitalakkumulationsgleichung
lnq2 
lnq3
lnpia                       % Nominale Gewinne
lnpib
lnpic
lnta                        % Reale Steuern
lntb
lntc
lnga                        % reale Staatsausgaben
lngb 
lngc
lneac
eab          % Ab hier die Niveaus
eac
ebc
pa
pb
pc
dpa                         % Price dispersion, nur in Approximation zweiter Ordnung wesentlich
dpb
dpc
ra                          % Bruttorealzins
rb
rc
infa                        % Inflationsraten
infb
infc
ifs1a                       % infinite sums for Calvo pricing 
ifs1b
ifs1c
ifs2a
ifs2b
ifs2c
ifs3a                       % infinite sums for Calvo wage setting
ifs3b                      
ifs3c
ifs4a
ifs4b
ifs4c
m1                          % Geldnachfragen
m2
m3
la1
la2
la3
mu1
mu2
mu3
q1
q2
q3
pia
pib
pic
bca                         % Bondnachfrage der Zentralbank von A
bcb
bcc
ta
tb
tc
ga
gb
gc
ma                          % Geldangebot in A
mb
mc
s1a                         % Profit shares
s1b
s1c
s2a
s2b
s2c  
s3a
s3b
s3c
x1b                         % Nominal Remittances
x1c
x2a
x2c
x3a
x3b
spa                         % share price for profits of firms in country a
spb
spc

;


    % 186 variables, 186 Equations

varexo epsbca,epsbcb,epsbcc,epsga,epsgb,epsgc,epsta,epstb,epstc,epsma,epsmb,epsmc;

parameters lnAa,lnAb,lnAc,lapa,lapb,lapc,lala,lalb,lalc,aaa,aab,aac,gapa,gapb,gapc,gawa,gawb,gawc,xipa,xipb,xipc,xiwa,xiwb,xiwc,
           nuc1a,nuc1b,nuc1c,nuc2a,nuc2b,nuc2c,nuc3a,nuc3b,nuc3c,muca,mucb,mucc,ba1,ba2,ba3,sa1,sa2,sa3,tan1,tan2,tan3,daa,dab,dac,
           taua,taub,tauc,xi1,xi2,xi3,tab1,tab2,tab3,eta1a,eta1b,eta1c,eta2a,eta2b,eta2c,eta3a,eta3b,eta3c,
           tax1b,tax1c,tax2a,tax2c,tax3a,tax3b,sax1b,sax1c,sax2a,sax2c,sax3a,sax3b,chi1b,chi1c,chi2a,chi2c,chi3a,chi3b,
           ka1a,ka1b,ka1c,ka2a,ka2b,ka2c,ka3a,ka3b,ka3c,tas1,tas2,tas3,
           rhora,rhorb,rhorc,ominfaa,ominfab,ominfac,ominfba,ominfbb,ominfbc,ominfca,ominfcb,ominfcc,
           omyaa,omyab,omyac,omyba,omybb,omybc,omyca,omycb,omycc,
           bcass,bcbss,bccss,rhobca,rhobcb,rhobcc,gass,gbss,gcss,rhoga,rhogb,rhogc,tass,tbss,tcss,rhota,rhotb,rhotc,
           mass,mbss,mcss,rhoma,rhomb,rhomc,
           stdbca,stdbcb,stdbcc,stdga,stdgb,stdgc,stdta,stdtb,stdtc,stdma,stdmb,stdmc;

           
lnAa=0;            % Total factor productivity
lnAb=0;
lnAc=0;
lapa = 0.2;
lapb = 0.2;
lapc = 0.2;
lala = 0.2;
lalb = 0.2;
lalc = 0.2;
aaa  = 0.33;
aab  = 0.33;
aac  = 0.33;
gapa = 0;
gapb = 0;
gapc = 0;
gawa = 0;
gawb = 0;
gawc = 0;
xipa = 0.3;
xipb = 0.3;
xipc = 0.3;
xiwa = 0.5;
xiwb = 0.5;
xiwc = 0.5;
nuc1a = 1/3;
nuc1b = 1/3;
nuc1c = 1-nuc1a-nuc1b;
nuc2a = 1/3;
nuc2b = 1/3;
nuc2c = 1-nuc2a-nuc2b;
nuc3a = 1/3;
nuc3b = 1/3;
nuc3c = 1-nuc3a-nuc3b;
muca = 6;
mucb = 6;
mucc = 6;
ba1  = 0.8;          % Blanchard-Kahn erfüllt, wenn alle ba's = 0.95
ba2  = 0.8;
ba3  = 0.8;
sa1  = 2;
sa2  = 2;
sa3  = 2;
tan1 = 3;
tan2 = 3;
tan3 = 3;
daa  = 0.05;
dab  = 0.05;
dac  = 0.05;
xi1  = 2;
xi2  = 2;
xi3  = 2;
tab1 = 0.2;
tab2 = 0.2;
tab3 = 0.2;
eta1a = 1/3;
eta1b = 1/3;
eta1c = 1-eta1a-eta1b;
eta2a = 1/3;
eta2b = 1/3;
eta2c = 1-eta2a-eta2b;
eta3c = 1/3;
eta3a = 1/3;
eta3b = 1-eta3c-eta3a;
tax1b=0.1;
tax1c=0.1;
tax2a=0.1;
tax2c=0.1;
tax3a=0.1;
tax3b=0.1;
sax1b=2;
sax1c=2;
sax2a=2;
sax2c=2;
sax3a=2;
sax3b=2;
chi1b=1;
chi1c=1;
chi2a=1;
chi2c=1;
chi3a=1;
chi3b=1;
ka1a=1/3;
ka1b=1/3;
ka1c=1-ka1a-ka1b;
ka2a=1/3;
ka2b=1/3;
ka2c=1-ka2a-ka2b;
ka3a=1/3;
ka3b=1/3;
ka3c=1-ka3a-ka3b;
tas1=0.2;
tas2=0.2;
tas3=0.2;

% Taylor rule parameters and parameters of exogenous AR processes:

rhora=0.5;         
ominfaa=1.5;
ominfab=0;
ominfac=0;
omyaa=0.5;
omyab=0;
omyac=0;

rhorb=0.5;
ominfba=0;
ominfbb=1.5;
ominfbc=0;
omyba=0;
omybb=0.5;
omybc=0;

rhorc=0.5;         
ominfca=0;
ominfcb=0;
ominfcc=1.5;
omyca=0;
omycb=0;
omycc=0.5;

taua=0.2;
taub=0.2;
tauc=0.2;

bcass=0;
bcbss=0;
bccss=0;
rhobca=0;
rhobcb=0;
rhobcc=0;

gass=exp(-2);
gbss=exp(-2);
gcss=exp(-2);
rhoga=0;
rhogb=0;
rhogc=0;

tass=exp(-1);
tbss=exp(-1);
tcss=exp(-1);
rhota=0;
rhotb=0;
rhotc=0;

mass=1;
mbss=1;
mcss=1;
rhoma=0;
rhomb=0;
rhomc=0;


stdbca=0;
stdbcb=0;
stdbcc=0;
stdga=0;
stdta=0;
stdgb=0;
stdtb=0;
stdgc=0;
stdtc=0;
stdma=0;
stdmb=0;
stdmc=0;








model;
eab=exp(lneab);
ebc=exp(lnebc);
eac=eab*ebc;
lneac=ln(eac);
pa=exp(lnpa);
pb=exp(lnpb);
pc=exp(lnpc);
s1a=exp(-exp(lnlncut1sa)-exp(lnlncut2sa));       % Shares, die Haushalt 1 am Kapitalbestand von Land A hält, d. h. Gewinnberechtigung bzgl. Pia
s1b=exp(-exp(lnlncut1sb)-exp(lnlncut2sb));
s1c=exp(-exp(lnlncut1sc)-exp(lnlncut2sc));
s3a=1-exp(-exp(lnlncut1sa));
s3b=1-exp(-exp(lnlncut1sb));
s3c=1-exp(-exp(lnlncut1sc));
s2a=1-s1a-s3a;
s2b=1-s1b-s3b;
s2c=1-s1c-s3c;  
lnya=lnAa+aaa*lnka(-1)+(1-aaa)*lnla-log(dpa);         % aggregierte Produktion
lnyb=lnAb+aab*lnkb(-1)+(1-aab)*lnlb-log(dpb);
lnyc=lnAc+aac*lnkc(-1)+(1-aac)*lnlc-log(dpc);
log(aaa)+lnwa+lnla=log(1-aaa)+log(ra)+lnpa+lnka(-1);    % FOC Gewinnmaximierung des Produzenten
log(aab)+lnwb+lnlb=log(1-aab)+log(rb)+lnpb+lnkb(-1);
log(aac)+lnwc+lnlc=log(1-aac)+log(rc)+lnpc+lnkc(-1);
lnmca+lnpa+lnAa=aaa*(log(ra)+lnpa-log(aaa))+(1-aaa)*(lnwa-log(1-aaa));
lnmcb+lnpb+lnAb=aab*(log(rb)+lnpb-log(aab))+(1-aab)*(lnwb-log(1-aab));
lnmcc+lnpc+lnAc=aac*(log(rc)+lnpc-log(aac))+(1-aac)*(lnwc-log(1-aac));
dpa=xipa*(infa/infa(-1)^gapa)^((1+lapa)/lapa)*dpa(-1)+(1-xipa)*exp((1+lapa)/lapa*(lnpa-lnpsa));
dpb=xipb*(infb/infb(-1)^gapb)^((1+lapb)/lapb)*dpb(-1)+(1-xipb)*exp((1+lapb)/lapb*(lnpb-lnpsb));
dpc=xipc*(infc/infc(-1)^gapc)^((1+lapc)/lapc)*dpc(-1)+(1-xipc)*exp((1+lapc)/lapc*(lnpc-lnpsc));
log(infa)=lnpa-lnpa(-1);
log(infb)=lnpb-lnpb(-1);
log(infc)=lnpc-lnpc(-1);
ifs2a*exp(lnpsa)=ifs1a;
ifs2b*exp(lnpsb)=ifs1b;
ifs2c*exp(lnpsc)=ifs1c;
ifs1a=xipa*ba1*la1(1)/la1*ifs1a(1)+exp((1+lapa)/lapa*lnpa+lnya+log(1+lapa)+lnmca);
ifs1b=xipb*ba2*la2(1)/la2*ifs1b(1)+exp((1+lapb)/lapb*lnpb+lnyb+log(1+lapb)+lnmcb);
ifs1c=xipc*ba3*la3(1)/la3*ifs1c(1)+exp((1+lapc)/lapc*lnpc+lnyc+log(1+lapc)+lnmcc);
ifs2a=xipa*ba1*la1(1)/la1*infa^(-gapa/lapa)*ifs2a(1)+exp(lnpa/lapa+lnya);
ifs2b=xipb*ba2*la2(1)/la2*infb^(-gapb/lapb)*ifs2b(1)+exp(lnpb/lapb+lnyb);
ifs2c=xipc*ba3*la3(1)/la3*infc^(-gapc/lapc)*ifs2c(1)+exp(lnpc/lapc+lnyc);
exp(lnpa/lapa)=(1-xipa)*exp(lnpsa/lapa)+xipa*infa(-1)^(gapa/lapa)*exp(lnpa(-1)/lapa);
exp(lnpb/lapb)=(1-xipb)*exp(lnpsb/lapb)+xipb*infb(-1)^(gapb/lapb)*exp(lnpb(-1)/lapb);
exp(lnpc/lapc)=(1-xipc)*exp(lnpsc/lapc)+xipc*infc(-1)^(gapc/lapc)*exp(lnpc(-1)/lapc);
lnc1/muca*(muca-1)=log(nuc1a*exp((muca-1)/muca*lnc1a)+nuc1b*exp((muca-1)/muca*lnc1b)+nuc1c*exp((muca-1)/muca*lnc1c));
lnc2/mucb*(mucb-1)=log(nuc2a*exp((mucb-1)/mucb*lnc2a)+nuc2b*exp((mucb-1)/mucb*lnc2b)+nuc2c*exp((mucb-1)/mucb*lnc2c));
lnc3/mucc*(mucc-1)=log(nuc3a*exp((mucc-1)/mucc*lnc3a)+nuc1c*exp((mucc-1)/mucc*lnc3b)+nuc3c*exp((mucc-1)/mucc*lnc3c));
%exp(lnwa+lnn3)+ra*exp(lnpa+lnka(-1))+s1a(-1)*pia    +s1b(-1)*pib*eab+s1c(-1)*pic*eac+b1a(-1)+b1b(-1)*eab+b1c(-1)*eac+m1(-1)+x2a*eab+x3a*eac=exp(lnpa+lnc1a)+exp(lnpb+lnc1b)*eab+exp(lnpc+lnc1c)*eac+exp(lnpa+lnia)+spa    *(s1a-s1a(-1))+spb*eab*(s1b-s1b(-1))+spc*ebc*(s1c-s1c(-1))+b1a/exp(lnRa)+b1b/exp(lnRb)*eab+b1c/exp(lnRc)*eac+m1+exp(lnpa+lnta)+x1b+x1c;
exp(lnwb+lnn2)+rb*exp(lnpb+lnkb(-1))+s2a(-1)*pia/eab+s2b(-1)*pib    +s2c(-1)*pic*ebc+b2b(-1)+b2a(-1)/eab+b2c(-1)*ebc+m2(-1)+x1b/eab+x3b*ebc=exp(lnpa+lnc2a)/eab+exp(lnpb+lnc2b)    +exp(lnpc+lnc2c)*ebc+exp(lnpb+lnib)+spa/eab*(s2a-s2a(-1))+spb    *(s2b-s2b(-1))+spc*ebc*(s2c-s2c(-1))+b2b/exp(lnRb)+b2a/exp(lnRa)/eab+b2c/exp(lnRc)*ebc+m2+exp(lnpb+lntb)+x2a+x2c;
exp(lnwc+lnn3)+rc*exp(lnpc+lnkc(-1))+s3a(-1)*pia/eac+s3b(-1)*pib/ebc+s3c(-1)*pic    +b3c(-1)+b3a(-1)/eac+b3b(-1)/ebc+m3(-1)+x1c/eac+x2c/ebc=exp(lnpa+lnc3a)/eac+exp(lnpb+lnc3b)/ebc+exp(lnpc+lnc3c)    +exp(lnpc+lnic)+spa/eac*(s3a-s3a(-1))+spb/ebc*(s3b-s3b(-1))+spc    *(s3c-s3c(-1))+b3c/exp(lnRc)+b3a/exp(lnRa)/eac+b3b/exp(lnRb)/ebc+m3+exp(lnpc+lntc)+x3a+x3b;
pia=exp(lnpa+lnya)-ra*exp(lnpa+lnka(-1))-exp(lnwa+lnla);
pib=exp(lnpb+lnyb)-rb*exp(lnpb+lnkb(-1))-exp(lnwb+lnlb);
pic=exp(lnpc+lnyc)-rc*exp(lnpc+lnkc(-1))-exp(lnwc+lnlc);
exp(lnpa+lnc1a)+eab*exp(lnpb+lnc1b)+eac*exp(lnpc+lnc1c)=m1;
exp(lnpa+lnc2a)/eab+exp(lnpb+lnc2b)+ebc*exp(lnpc+lnc2c)=m2;
exp(lnpa+lnc3a)/eac+exp(lnpb+lnc3b)/ebc+exp(lnpc+lnc3c)=m3;
exp(lnka)=(1-daa)*exp(lnka(-1))+exp(lnia);
exp(lnkb)=(1-dab)*exp(lnkb(-1))+exp(lnib);
exp(lnkc)=(1-dac)*exp(lnkc(-1))+exp(lnic);
ln(nuc1a)+(lnc1-lnc1a)/muca=ln(la1+mu1)+lnpa+      sa1*lnc1;
ln(nuc1b)+(lnc1-lnc1b)/muca=ln(la1+mu1)+lnpb+lneab+sa1*lnc1;
ln(nuc1c)+(lnc1-lnc1c)/muca=ln(la1+mu1)+lnpc+lneac+sa1*lnc1;
ln(nuc2a)+(lnc2-lnc2a)/mucb=ln(la2+mu2)+lnpa-lneab+sa2*lnc2;
ln(nuc2b)+(lnc2-lnc2b)/mucb=ln(la2+mu2)+lnpb      +sa2*lnc2;
ln(nuc2c)+(lnc2-lnc2c)/mucb=ln(la2+mu2)+lnpc+lnebc+sa2*lnc2;
ln(nuc3a)+(lnc3-lnc3a)/mucc=ln(la3+mu3)+lnpa-lneac+sa3*lnc3;
ln(nuc3b)+(lnc3-lnc3b)/mucc=ln(la3+mu3)+lnpb-lnebc+sa3*lnc3;
ln(nuc3c)+(lnc3-lnc3c)/mucc=ln(la3+mu3)+lnpc      +sa3*lnc3;
(    la1/exp(lnRa)-ba1       *la1(1))*b1a=tab1*eta1a/exp(lnpa)*b1a^eta1a*(eab*b1b)^eta1b*(eac*b1c)^eta1c ;    % Ableitung nach b1a
(la1/exp(lnRb)*eab-ba1*eab(1)*la1(1))*b1b=tab1*eta1b/exp(lnpa)*b1a^eta1a*(eab*b1b)^eta1b*(eac*b1c)^eta1c ;    % Ableitung nach b1b
(la1/exp(lnRc)*eac-ba1*eac(1)*la1(1))*b1c=tab1*eta1c/exp(lnpa)*b1a^eta1a*(eab*b1b)^eta1b*(eac*b1c)^eta1c ;    % Ableitung nach b1c
(la2/exp(lnRa)/eab-ba2/eab(1)*la2(1))*b2a=tab2*eta2a/exp(lnpb)*(b2a/eab)^eta2a*b2b^eta2b*(ebc*b2c)^eta2c ;    % Ableitung nach b2a
(la2/exp(lnRb)    -ba2       *la2(1))*b2b=tab2*eta2b/exp(lnpb)*(b2a/eab)^eta2a*b2b^eta2b*(ebc*b2c)^eta2c ;    % Ableitung nach b2b
(la2/exp(lnRc)*ebc-ba2*eac(1)*la2(1))*b2c=tab2*eta2c/exp(lnpb)*(b2a/eab)^eta2a*b2b^eta2b*(ebc*b2c)^eta2c ;    % Ableitung nach b2c
(la3/exp(lnRa)/eac-ba3/eac(1)*la3(1))*b3a=tab3*eta3a/exp(lnpc)*(b3a/eac)^eta3a*(b3b/ebc)^eta3b*b3c^eta3c ;    % Ableitung nach b3a
(la3/exp(lnRb)/ebc-ba3/ebc(1)*la3(1))*b3b=tab3*eta3b/exp(lnpc)*(b3a/eac)^eta3a*(b3b/ebc)^eta3b*b3c^eta3c ;    % Ableitung nach b3b
(la3/exp(lnRc)    -ba3       *la3(1))*b3c=tab3*eta3c/exp(lnpc)*(b3a/eac)^eta3a*(b3b/ebc)^eta3b*b3c^eta3c ;    % Ableitung nach b3c
ba1*la1(1)*ra(1)*exp(lnpa(1))=q1-ba1*q1(1)*(1-daa);
ba2*la2(1)*rb(1)*exp(lnpb(1))=q2-ba2*q2(1)*(1-dab);
ba3*la3(1)*rc(1)*exp(lnpc(1))=q3-ba3*q3(1)*(1-dac);
la1*exp(lnpa)=q1;
la2*exp(lnpb)=q2;
la3*exp(lnpc)=q3;
la1=ba1*(la1(1)+mu1(1));
la2=ba2*(la2(1)+mu2(1));
la3=ba3*(la3(1)+mu3(1));
ln(tax1b)+chi1b*(1-sax1b)*(lnpa-lnpb-lneab)-sax1b*lnx1b=lnla1;
ln(tax1c)+chi1c*(1-sax1c)*(lnpa-lnpc-lneac)-sax1c*lnx1c=lnla1;
ln(tax2a)+chi2a*(1-sax2a)*(lnpb-lnpa+lneab)-sax2a*lnx2a=lnla2;
ln(tax2c)+chi2c*(1-sax2c)*(lnpb-lnpc-lnebc)-sax2c*lnx2c=lnla2;
ln(tax3a)+chi3a*(1-sax3a)*(lnpc-lnpa+lneac)-sax3a*lnx3a=lnla3;
ln(tax3b)+chi3b*(1-sax3b)*(lnpc-lnpb+lnebc)-sax3b*lnx3b=lnla3;
la1*spa=ba1*la1(1)*(spa(1)+pia(1))+ka1a/s1a*tas1*(s1a*pia/pa    )^ka1a*(eab*s1b*pib/pa)^ka1b*(eac*s1c*pic/pa)^ka1c;
la1*spb=ba1*la1(1)*(spb(1)+pib(1))+ka1b/s1b*tas1*(s1a*pia/pa    )^ka1a*(eab*s1b*pib/pa)^ka1b*(eac*s1c*pic/pa)^ka1c;
la1*spc=ba1*la1(1)*(spc(1)+pic(1))+ka1c/s1c*tas1*(s1a*pia/pa    )^ka1a*(eab*s1b*pib/pa)^ka1b*(eac*s1c*pic/pa)^ka1c;
la2*spa=ba2*la2(1)*(spa(1)+pia(1))+ka2a/s2a*tas2*(s2a*pia/pb/eab)^ka2a*(    s2b*pib/pb)^ka2b*(ebc*s2c*pic/pb)^ka2c;
la2*spb=ba2*la2(1)*(spb(1)+pib(1))+ka2b/s2b*tas2*(s2a*pia/pb/eab)^ka2a*(    s2b*pib/pb)^ka2b*(ebc*s2c*pic/pb)^ka2c;
la2*spc=ba2*la2(1)*(spc(1)+pic(1))+ka2c/s2c*tas2*(s2a*pia/pb/eab)^ka2a*(    s2b*pib/pb)^ka2b*(ebc*s2c*pic/pb)^ka2c;
la3*spa=ba3*la3(1)*(spa(1)+pia(1))+ka3a/s3a*tas3*(s3a*pia/pc/eac)^ka3a*(s3b*pib/pc/ebc)^ka3b*(    s3c*pic/pc)^ka3c;
la3*spb=ba3*la3(1)*(spb(1)+pib(1))+ka3b/s3b*tas3*(s3a*pia/pc/eac)^ka3a*(s3b*pib/pc/ebc)^ka3b*(    s3c*pic/pc)^ka3c;
la3*spc=ba3*la3(1)*(spc(1)+pic(1))+ka3c/s3c*tas3*(s3a*pia/pc/eac)^ka3a*(s3b*pib/pc/ebc)^ka3b*(    s3c*pic/pc)^ka3c;
ifs4a*exp((1+xi1*(1+lala)/lala)*lnwsa)=ifs3a;  % Die zugehörige SS-Gleichung ist lnka=-1/xi1*ln(tan1/pa*(1+lala)/la1*(1+lapa)^((1+xi1)/(1-aaa))*((1/ba1-1+daa)/aaa)^((xi1+aaa)/(1-aaa))/(1-aaa));
ifs4b*exp((1+xi2*(1+lalb)/lalb)*lnwsb)=ifs3b; 
ifs4c*exp((1+xi3*(1+lalc)/lalc)*lnwsc)=ifs3c; 
ifs3a=tan1*(1+lala)/lala*exp(((1+lala)/lala*lnwa+lnn1)*(1+xi1))+xiwa*ba1/infa^(gawa*(1+xi1)*(1+lala)/lala)*ifs3a(1);
ifs3b=tan2*(1+lalb)/lalb*exp(((1+lalb)/lalb*lnwb+lnn2)*(1+xi2))+xiwb*ba2/infb^(gawb*(1+xi2)*(1+lalb)/lalb)*ifs3b(1);
ifs3c=tan3*(1+lalc)/lalc*exp(((1+lalc)/lalc*lnwc+lnn3)*(1+xi3))+xiwc*ba3/infc^(gawc*(1+xi3)*(1+lalc)/lalc)*ifs3c(1);
ifs4a=la1/lala*exp((1+lala)/lala*lnwa+lnla)+xiwa*ba1/infa^(gawa*(1+lala)/lala)*ifs4a(1); 
ifs4b=la2/lalb*exp((1+lalb)/lalb*lnwb+lnlb)+xiwb*ba2/infb^(gawb*(1+lalb)/lalb)*ifs4b(1); 
ifs4c=la3/lalc*exp((1+lalc)/lalc*lnwc+lnlc)+xiwc*ba3/infc^(gawc*(1+lalc)/lalc)*ifs4c(1); 
exp(-lnwa/lala)=xiwa*infa(-1)^(-gawa/lala)*exp(-lnwa(-1)/lala)+(1-xiwa)*exp(-lnwsa/lala);  % Die zugehörige SS-Gleichung ist lnwsa=lnwa;
exp(-lnwb/lalb)=xiwb*infb(-1)^(-gawb/lalb)*exp(-lnwb(-1)/lalb)+(1-xiwb)*exp(-lnwsb/lalb);
exp(-lnwc/lalc)=xiwc*infc(-1)^(-gawc/lalc)*exp(-lnwc(-1)/lalc)+(1-xiwc)*exp(-lnwsc/lalc);
b1a(-1)+b2a(-1)+b3a(-1)+bca(-1)=(b1a+b2a+b3a+bca)/exp(lnRa)+exp(lnpa+lnta)-exp(lnpa+lnga);
b1b(-1)+b2b(-1)+b3b(-1)+bcb(-1)=(b1b+b2b+b3b+bcb)/exp(lnRb)+exp(lnpb+lntb)-exp(lnpb+lngb);
b1c(-1)+b2c(-1)+b3c(-1)+bcc(-1)=(b1c+b2c+b3c+bcc)/exp(lnRc)+exp(lnpc+lntc)-exp(lnpc+lngc);
exp(lnya)=exp(lnc1a)+exp(lnc2a)+exp(lnc3a)+exp(lnia)+exp(lnga);
exp(lnyb)=exp(lnc1b)+exp(lnc2b)+exp(lnc3b)+exp(lnib)+exp(lngb);
exp(lnyc)=exp(lnc1c)+exp(lnc2c)+exp(lnc3c)+exp(lnic)+exp(lngc);
lnn1=lnla;
lnn2=lnlb;
lnn3=lnlc;
m1=ma;
m2=mb;
m3=mc;
dpa=exp(lndpa);     % Hier folgen die Transformationen zwischen Logs und Niveaus
dpb=exp(lndpb);
dpc=exp(lndpc);
ra=exp(ln_ra);
rb=exp(ln_rb);
rc=exp(ln_rc);
infa=exp(lninfa);
infb=exp(lninfb);
infc=exp(lninfc);
ifs1a=exp(lnifs1a);
ifs1b=exp(lnifs1b);
ifs1c=exp(lnifs1c);
ifs2a=exp(lnifs2a);
ifs2b=exp(lnifs2b);
ifs2c=exp(lnifs2c);
ifs3a=exp(lnifs3a);
ifs3b=exp(lnifs3b);
ifs3c=exp(lnifs3c);
ifs4a=exp(lnifs4a);
ifs4b=exp(lnifs4b);
ifs4c=exp(lnifs4c);
m1=exp(lnm1);
m2=exp(lnm2);
m3=exp(lnm3);
la1=exp(lnla1);
la2=exp(lnla2);
la3=exp(lnla3);
mu1=exp(lnmu1);
mu2=exp(lnmu2);
mu3=exp(lnmu3);
q1=exp(lnq1);
q2=exp(lnq2);
q3=exp(lnq3);
pia=exp(lnpia);
pib=exp(lnpib);
pic=exp(lnpic);
x1b=exp(lnx1b);
x1c=exp(lnx1c);
x2a=exp(lnx2a);
x2c=exp(lnx2c);
x3a=exp(lnx3a);
x3b=exp(lnx3b);
spa=exp(lnspa);
spb=exp(lnspb);
spc=exp(lnspc);
ga=exp(lnga);
gb=exp(lngb);
gc=exp(lngc);
ta=exp(lnta);
tb=exp(lntb);
tc=exp(lntc);
ma-ma(-1)=bca/exp(lnRa)-bca(-1);                % Geldschöpfung Land A
mb-mb(-1)=bcb/exp(lnRb)-bcb(-1);                % Geldschöpfung Land B
mc-mc(-1)=bcc/exp(lnRc)-bcc(-1);                % Geldschöpfung Land C

%Politikregeln:

% Taylor-Regeln
exp(lnRa)=(1-rhora)*steady_state(exp(lnRa))+rhora*exp(lnRa(-1))+(1-rhora)*(ominfaa*(infa-1)+ominfab*(infb-1)+ominfac*(infc-1))+omyaa*(lnya-steady_state(lnya))+omyab*(lnyb-steady_state(lnyb))+omyac*(lnyc-steady_state(lnyc));
exp(lnRb)=(1-rhorb)*steady_state(exp(lnRb))+rhorb*exp(lnRb(-1))+(1-rhorb)*(ominfba*(infa-1)+ominfbb*(infb-1)+ominfbc*(infc-1))+omyba*(lnya-steady_state(lnya))+omybb*(lnyb-steady_state(lnyb))+omybc*(lnyc-steady_state(lnyc));
exp(lnRc)=(1-rhorc)*steady_state(exp(lnRc))+rhorc*exp(lnRc(-1))+(1-rhorc)*(ominfca*(infa-1)+ominfcb*(infb-1)+ominfcc*(infc-1))+omyca*(lnya-steady_state(lnya))+omycb*(lnyb-steady_state(lnyb))+omycc*(lnyc-steady_state(lnyc));

% Budgetregeln
exp(lnta)-exp(lnga)=tass-gass+taua*(b1a(-1)-steady_state(b1a))/exp(lnpa(-1));
exp(lntb)-exp(lngb)=tbss-gbss+taub*(b2b(-1)-steady_state(b2b))/exp(lnpb(-1));
exp(lntc)-exp(lngc)=tcss-gcss+tauc*(b3c(-1)-steady_state(b3c))/exp(lnpc(-1));

%Offenmarktpolitik:
bca=bcass*(1-rhobca)+rhobca*bca(-1)+epsbca;
bcb=bcbss*(1-rhobcb)+rhobcb*bcb(-1)+epsbcb;
bcc=bccss*(1-rhobcc)+rhobcc*bcc(-1)+epsbcc;

%Staatsausgaben:
%ga=gass*(1-rhoga)+rhoga*ga(-1)+epsga;
%gb=gbss*(1-rhogb)+rhogb*gb(-1)+epsgb;

%Steuern:
%ta=tass*(1-rhota)+rhota*ta(-1)+epsta;
%tb=tbss*(1-rhotb)+rhotb*tb(-1)+epstb;


end;

% initval;
% end;
 
 
steady;

% check(solve_algo = 2);

% shocks;
% var epsbca; stderr stdbca;
% var epsbcb; stderr stdbcb;
% var epsbcc; stderr stdbcc;
% var epsga; stderr stdga;
% var epsgb; stderr stdgb;
% var epsgc; stderr stdgc;
% var epsta; stderr stdta;
% var epstb; stderr stdtb;
% var epstc; stderr stdtc;
% var epsma; stderr stdma;
% var epsmb; stderr stdmb;
% var epsmc; stderr stdmc;
% end;
% % 
% stoch_simul(order=1,nocorr,nomoments,irf=40) lnya;