@@ -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