File: portfolio4.mod

package info (click to toggle)
dynare 4.4.3-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 41,356 kB
  • ctags: 15,842
  • sloc: cpp: 77,029; ansic: 29,056; pascal: 13,241; sh: 4,811; objc: 3,061; yacc: 3,013; makefile: 1,479; lex: 1,258; python: 162; lisp: 54; xml: 8
file content (86 lines) | stat: -rw-r--r-- 2,070 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
var DOTQ Q1 Q2 Q3 Q4 X1 X2 X3 X4 C D1 D2 D3 D4 V;

varexo E_D1 E_D2 E_D3 E_D4;

parameters beta, r1, r2, r3, r4, gamma, ed1, ed2, ed3, ed4, rho1, rho2, rho3, rho4;

beta = 0.95;
r1 = 0.2;
r2 = 0.1;
r3 = 0.06;
r4 = 0.03;

gamma = 0.7;
ed1 = 0.1;
ed2 = 0.1;
ed3 = 0.1;
ed4 = 0.1;

rho1 = 0.3;
rho2 = 0.01;
rho3 = 0.6;
rho4 = 0.6;

model;
Q1+Q2+Q3+Q4 = 1;
C + X1 + X2 + X3 + X4 = D1*Q1 + D2*Q2 + D3*Q3 + D4*Q4;
DOTQ*Q1 = Q1(-1) + X1(-1) - r1*X1(-1)*X1(-1);  
DOTQ*Q2 = Q2(-1) + X2(-1) - r2*X2(-1)*X2(-1);
DOTQ*Q3 = Q3(-1) + X3(-1) - r3*X3(-1)*X3(-1);  
DOTQ*Q4 = Q4(-1) + X4(-1) - r4*X4(-1)*X4(-1);
C^(-gamma)/(1-2*r1*X1) = beta*DOTQ(+1)^(-gamma)*C(+1)^(-gamma)/(1-2*r1*X1(+1))*(D1(+1)*(1-2*r1*X1(+1))+1);
C^(-gamma)/(1-2*r2*X2) = beta*DOTQ(+1)^(-gamma)*C(+1)^(-gamma)/(1-2*r2*X2(+1))*(D2(+1)*(1-2*r2*X2(+1))+1);
C^(-gamma)/(1-2*r3*X3) = beta*DOTQ(+1)^(-gamma)*C(+1)^(-gamma)/(1-2*r3*X3(+1))*(D3(+1)*(1-2*r3*X3(+1))+1);
C^(-gamma)/(1-2*r4*X4) = beta*DOTQ(+1)^(-gamma)*C(+1)^(-gamma)/(1-2*r4*X4(+1))*(D4(+1)*(1-2*r4*X4(+1))+1);

V = C^(1-gamma)/(1-gamma) + beta*V(+1);

D1/ed1 = D1(-1)^rho1/(ed1^rho1)*exp(E_D1);
D2/ed2 = D2(-1)^rho2/(ed2^rho2)*exp(E_D2);
D3/ed3 = D3(-1)^rho3/(ed3^rho3)*exp(E_D3);
D4/ed4 = D4(-1)^rho4/(ed4^rho4)*exp(E_D4);

/*
D1-ed1 = rho1*(D1(-1)-ed1) + E_D1;
D2-ed2 = rho2*(D2(-1)-ed2) + E_D2;
D3-ed3 = rho3*(D3(-1)-ed3) + E_D3;
D4-ed4 = rho4*(D4(-1)-ed4) + E_D4;
*/

end;

initval;
D1 = ed1;
D2 = ed2;
D3 = ed3;
D4 = ed4;
DOTQ = 1.05; // provide a guess not larger than the true value
X1 = 1/2/r1*(1-1/D1*(1/beta*DOTQ^gamma - 1));
X2 = 1/2/r2*(1-1/D2*(1/beta*DOTQ^gamma - 1));
X3 = 1/2/r3*(1-1/D3*(1/beta*DOTQ^gamma - 1));
X4 = 1/2/r4*(1-1/D4*(1/beta*DOTQ^gamma - 1));
Q1 = 1/(DOTQ-1)*(X1 - r1*X1*X1);
Q2 = 1/(DOTQ-1)*(X2 - r2*X2*X2);
Q3 = 1/(DOTQ-1)*(X3 - r3*X3*X3);
Q4 = 1/(DOTQ-1)*(X4 - r4*X4*X4);
C = ed1*Q1 + ed2*Q2 + ed3*Q3 + ed4*Q4 - X1 - X2 - X3 - X4;
V = 1/(1-beta)*C^(1-gamma)/(1-gamma);
end;

/*
vcov = [
0.0005 0 0 0;
0 0.00025 0 0;
0 0 0.0005 0;
0 0 0 0.00025
];
*/

vcov = [
0.05 0 0 0;
0 0.025 0 0;
0 0 0.05 0;
0 0 0 0.025
];

order=5;