Skip to content

Commit c93abb3

Browse files
committed
add tests to basic
1 parent 113b961 commit c93abb3

File tree

1 file changed

+182
-0
lines changed

1 file changed

+182
-0
lines changed

test/runtests.jl

Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -826,6 +826,188 @@ if test_set == "basic"
826826
@test isapprox(std2(common_keys1, common_keys2), std1(common_keys1, common_keys2), rtol = 1e-10)
827827
end
828828

829+
830+
@testset verbose = true "Provide parameters later" begin
831+
include("../models/Backus_Kehoe_Kydland_1992.jl")
832+
833+
@model Backus_Kehoe_Kydland_1992_incomplete begin
834+
for co in [H, F]
835+
Y{co}[0] = ((LAMBDA{co}[0] * K{co}[-4]^theta{co} * N{co}[0]^(1-theta{co}))^(-nu{co}) + sigma{co} * Z{co}[-1]^(-nu{co}))^(-1/nu{co})
836+
837+
K{co}[0] = (1-delta{co})*K{co}[-1] + S{co}[0]
838+
839+
X{co}[0] = for lag in (-4+1):0 phi{co} * S{co}[lag] end
840+
841+
A{co}[0] = (1-eta{co}) * A{co}[-1] + N{co}[0]
842+
843+
L{co}[0] = 1 - alpha{co} * N{co}[0] - (1-alpha{co})*eta{co} * A{co}[-1]
844+
845+
U{co}[0] = (C{co}[0]^mu{co}*L{co}[0]^(1-mu{co}))^gamma{co}
846+
847+
psi{co} * mu{co} / C{co}[0]*U{co}[0] = LGM[0]
848+
849+
psi{co} * (1-mu{co}) / L{co}[0] * U{co}[0] * (-alpha{co}) = - LGM[0] * (1-theta{co}) / N{co}[0] * (LAMBDA{co}[0] * K{co}[-4]^theta{co}*N{co}[0]^(1-theta{co}))^(-nu{co})*Y{co}[0]^(1+nu{co})
850+
851+
for lag in 0:(4-1)
852+
beta{co}^lag * LGM[lag]*phi{co}
853+
end +
854+
for lag in 1:4
855+
-beta{co}^lag * LGM[lag] * phi{co} * (1-delta{co})
856+
end = beta{co}^4 * LGM[+4] * theta{co} / K{co}[0] * (LAMBDA{co}[+4] * K{co}[0]^theta{co} * N{co}[+4]^(1-theta{co})) ^ (-nu{co})* Y{co}[+4]^(1+nu{co})
857+
858+
LGM[0] = beta{co} * LGM[+1] * (1+sigma{co} * Z{co}[0]^(-nu{co}-1)*Y{co}[+1]^(1+nu{co}))
859+
860+
NX{co}[0] = (Y{co}[0] - (C{co}[0] + X{co}[0] + Z{co}[0] - Z{co}[-1]))/Y{co}[0]
861+
end
862+
863+
(LAMBDA{H}[0]-1) = rho{H}{H}*(LAMBDA{H}[-1]-1) + rho{H}{F}*(LAMBDA{F}[-1]-1) + Z_E{H} * E{H}[x]
864+
865+
(LAMBDA{F}[0]-1) = rho{F}{F}*(LAMBDA{F}[-1]-1) + rho{F}{H}*(LAMBDA{H}[-1]-1) + Z_E{F} * E{F}[x]
866+
867+
for co in [H,F] C{co}[0] + X{co}[0] + Z{co}[0] - Z{co}[-1] end = for co in [H,F] Y{co}[0] end
868+
869+
dLGM[0] = LGM[1] / LGM[0]
870+
871+
dLGM_ann[0] = for operator = :*, lag in -3:0 dLGM[lag] end
872+
end
873+
874+
@parameters Backus_Kehoe_Kydland_1992_incomplete begin
875+
K[ss] = K_ss | beta
876+
877+
rho{F}{F} = rho{H}{H}
878+
rho{F}{H} = rho{H}{F}
879+
end
880+
881+
pars = [
882+
"F_H_ratio" => 1.0,
883+
"K_ss" => 11.0148,
884+
"Z_E{F}" => 0.00852,
885+
"Z_E{H}" => 0.00852,
886+
"alpha{F}" => 1.0,
887+
"alpha{H}" => 1.0,
888+
"delta{F}" => 0.025,
889+
"delta{H}" => 0.025,
890+
"eta{F}" => 0.5,
891+
"eta{H}" => 0.5,
892+
"gamma{F}" => -1.0,
893+
"gamma{H}" => -1.0,
894+
"mu{F}" => 0.34,
895+
"mu{H}" => 0.34,
896+
"nu{F}" => 3.0,
897+
"nu{H}" => 3.0,
898+
"phi{F}" => 0.25,
899+
"phi{H}" => 0.25,
900+
"psi{F}" => 0.5,
901+
"psi{H}" => 0.5,
902+
"rho{H}{F}" => 0.088,
903+
"rho{H}{H}" => 0.906,
904+
"sigma{F}" => 0.01,
905+
"sigma{H}" => 0.01,
906+
"theta{F}" => 0.36,
907+
"theta{H}" => 0.36
908+
]
909+
910+
cov1 = get_cov(Backus_Kehoe_Kydland_1992_incomplete, parameters = pars)
911+
912+
cov2 = get_cov(Backus_Kehoe_Kydland_1992)
913+
914+
@test cov1 cov2
915+
916+
917+
include("../models/Gali_2015_chapter_3_obc.jl")
918+
919+
@model Gali_2015_chapter_3_obc_incomplete begin
920+
W_real[0] = C[0] ^ σ * N[0] ^ φ
921+
922+
Q[0] = β * (C[1] / C[0]) ^ (-σ) * Z[1] / Z[0] / Pi[1]
923+
924+
R[0] = 1 / Q[0]
925+
926+
Y[0] = A[0] * (N[0] / S[0]) ^ (1 - α)
927+
928+
R[0] = Pi[1] * realinterest[0]
929+
930+
R[0] = max(R̄ , 1 / β * Pi[0] ^ ϕᵖⁱ * (Y[0] / Y[ss]) ^ ϕʸ * exp(nu[0]))
931+
932+
C[0] = Y[0]
933+
934+
log(A[0]) = ρ_a * log(A[-1]) + std_a * eps_a[x]
935+
936+
log(Z[0]) = ρ_z * log(Z[-1]) - std_z * eps_z[x]
937+
938+
nu[0] = ρ_ν * nu[-1] + std_nu * eps_nu[x]
939+
940+
MC[0] = W_real[0] / (S[0] * Y[0] * (1 - α) / N[0])
941+
942+
1 = θ * Pi[0] ^- 1) + (1 - θ) * Pi_star[0] ^ (1 - ϵ)
943+
944+
S[0] = (1 - θ) * Pi_star[0] ^ (( - ϵ) / (1 - α)) + θ * Pi[0] ^/ (1 - α)) * S[-1]
945+
946+
Pi_star[0] ^ (1 + ϵ * α / (1 - α)) = ϵ * x_aux_1[0] / x_aux_2[0] * (1 - τ) /- 1)
947+
948+
x_aux_1[0] = MC[0] * Y[0] * Z[0] * C[0] ^ (-σ) + β * θ * Pi[1] ^+ α * ϵ / (1 - α)) * x_aux_1[1]
949+
950+
x_aux_2[0] = Y[0] * Z[0] * C[0] ^ (-σ) + β * θ * Pi[1] ^- 1) * x_aux_2[1]
951+
952+
log_y[0] = log(Y[0])
953+
954+
log_W_real[0] = log(W_real[0])
955+
956+
log_N[0] = log(N[0])
957+
958+
pi_ann[0] = 4 * log(Pi[0])
959+
960+
i_ann[0] = 4 * log(R[0])
961+
962+
r_real_ann[0] = 4 * log(realinterest[0])
963+
964+
M_real[0] = Y[0] / R[0] ^ η
965+
966+
end
967+
968+
@parameters Gali_2015_chapter_3_obc_incomplete begin
969+
σ = 1
970+
971+
φ = 5
972+
973+
ϕᵖⁱ = 1.5
974+
975+
ϕʸ = 0.125
976+
977+
θ = 0.75
978+
979+
ρ_ν = 0.5
980+
981+
ρ_z = 0.5
982+
983+
ρ_a = 0.9
984+
985+
β = 0.99
986+
987+
η = 3.77
988+
989+
α = 0.25
990+
991+
ϵ = 9
992+
993+
τ = 0
994+
995+
std_a = .01
996+
997+
std_z = .05
998+
999+
std_nu = .0025
1000+
1001+
R > 1.0001
1002+
end
1003+
1004+
cov1 = get_cov(Gali_2015_chapter_3_obc_incomplete, parameters = :R̄ => 1.0)
1005+
1006+
cov2 = get_cov(Gali_2015_chapter_3_obc)
1007+
1008+
@test cov1 cov2
1009+
end
1010+
8291011
@testset verbose = true "Standalone functions" begin
8301012
include("test_standalone_function.jl")
8311013
end

0 commit comments

Comments
 (0)