Coder Social home page Coder Social logo

frbny-dsge / dsge.jl Goto Github PK

View Code? Open in Web Editor NEW
842.0 60.0 217.0 2.52 GB

Solve and estimate Dynamic Stochastic General Equilibrium models (including the New York Fed DSGE)

Home Page: https://frbny-dsge.github.io/DSGE.jl/latest/

License: BSD 3-Clause "New" or "Revised" License

Julia 100.00%
economics macroeconomics dsge bayesian-inference statistical-models dynamical-systems

dsge.jl's People

Contributors

abhig94 avatar albop avatar alissarjohnson avatar aminya avatar brian-pacula avatar caimichael avatar chenwilliam77 avatar chrisrytting avatar dseevr avatar emoszkowski avatar ethanmatlin avatar fratrik avatar frbny-dsge-team avatar github-actions[bot] avatar ikarib avatar juliatagbot avatar marcodelnegro avatar mattcocci avatar matthieugomez avatar micahjsmith avatar pearlzli avatar pkofod avatar rfourquet avatar rsarfati avatar sglyon avatar shlokg avatar sshahanaghi avatar vgregory757 avatar zaccranko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dsge.jl's Issues

ERROR: MethodError: no method matching Array{Optim.OptimizationState{DSGE.Csminwel,T},1} where T()

I'm getting errors pulling in all the data and with running the estimate(m) function. I'm trying to run the run_default.jl script on a fresh 0.6.2 Julia install.

It's not able to grab the longinflation, longrate, and tfp series. When I fill those myself manually, I'm getting the error below when I get to estimate(m).

ERROR: MethodError: no method matching Array{Optim.OptimizationState{DSGE.Csminwel,T},1} where T()

I tried different optimation_method settings, and the only one that doesn't give an error is simulated_annealing, but I don't think it's actually converging, since the gradient norm is NaN at each iteration.

I also tried different versions of the Optim package, but that's doesn't seem to be fixing the problem.

EDIT: I also couldn't install the package using the standard Pkg.add("DSGE") method. I had to clone the git repo. The error had to do with Optim, which I think might be related to the above ^

run_default.jl

Hi everybody,

when I try to run the forecasting part of run_default.jl, I always get the following error:

forecast_one(m, :mode, :none, output_vars; check_empty_columns = false) | Error: type DataType has no field mutable

I use Visual Studio Code on Windows and somehow my colleague running the same code on Linux can't reproduce the error.
Since I'm quite new to Julia and DSGE, I've only checked that the JLD2 package is up to date.
Perhaps someone could help me with the issue? Thank you in advance!

The exact error description with stacktrace is:

Argument 5 of 4 in call to forecast_one

ERROR: type DataType has no field mutable
Stacktrace:

getproperty at .\Base.jl

hasfielddata(T::Any) at C:\Users\Chiara.julia\packages\JLD2\4AJn8\src\data.jl

#s61#23 at C:\Users\Chiara.julia\packages\JLD2\4AJn8\src\data.jl

var"#s61#23"(T::Any, ::Any, #unused#::Any, initialized::Any) at .\none

(::Core.GeneratedFunctionStub)(::Any, ::Vararg{Any}) at .\boot.jl

odr at C:\Users\Chiara.julia\packages\JLD2\4AJn8\src\data.jl

objodr at C:\Users\Chiara.julia\packages\JLD2\4AJn8\src\data.jl

write_dataset at C:\Users\Chiara.julia\packages\JLD2\4AJn8\src\datasets.jl

write(g::JLD2.Group{JLD2.JLDFile{IOStream}}, name::String, obj::Dict{Date, Int64}, wsession::JLD2.JLDWriteSession{Dict{UInt64, JLD2.RelOffset}}) at C:\Users\Chiara.julia\packages\JLD2\4AJn8\src\groups.jl

write(f::JLD2.JLDFile{IOStream}, name::String, obj::Dict{Date, Int64}, wsession::JLD2.JLDWriteSession{Dict{UInt64, JLD2.RelOffset}}) at C:\Users\Chiara.julia\packages\JLD2\4AJn8\src\JLD2.jl (repeats 2 times)

write_forecast_metadata(m::Model1002{Float64}, file::JLD2.JLDFile{IOStream}, var::Symbol) at C:\Users\Chiara.julia\packages\DSGE\tJSkz\src\forecast\io.jl

(::DSGE.var"#1639#1642"{Model1002{Float64}, Symbol})(file::JLD2.JLDFile{IOStream}) at C:\Users\Chiara.julia\packages\DSGE\tJSkz\src\forecast\io.jl

jldopen(::DSGE.var"#1639#1642"{Model1002{Float64}, Symbol}, ::String, ::Vararg{Any}; kws::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) at C:\Users\Chiara.julia\packages\JLD2\4AJn8\src\loadsave.jl

jldopen at C:\Users\Chiara.julia\packages\JLD2\4AJn8\src\loadsave.jl

Getting "Killed" message after forecasting completes

I'm running the Model1010("ss20") model with all defaults, and loading in FRED data dynamically. The whole system seems to run without any issues, and then when it gets to 2500 of 2500 blocks in the forecasting step, the program exits with a "Killed" message and no more information. The OS is Ubuntu 20.04, and I have about 10GB RAM allocated to this virtual machine.

See image attached:
image

Any idea what might be going on?

Eval can be replaced by getfield in smooth

getfield would be more efficient than eval in getting the value of a variable/function name here:

smoother = eval(Symbol(forecast_smoother(m), "_smoother"))

Toy example:

julia> using BenchmarkTools

julia> foo = 42
42

julia> @btime eval(Symbol("foo"))
  44.230 ns (0 allocations: 0 bytes)
42

julia> @btime getfield(Main, Symbol("foo"))
  1.180 ns (0 allocations: 0 bytes)
42

Need METADATA.jl update?

I'm getting ERROR: LoadError: LoadError: UndefVarError: call not defined
from newly installed DSGE.jl under julia 0.6.

Maybe need a METADATA.jl update to pick up the recent remodal of Base.call?

Installation on Julia >= v1.1 broken on Windows

As mentioned here installation on Windows starting from Julia v1.1 seems to be broken right now. This is still an issue on Julia v1.5. When trying to install DSGE.jl in a clean environment I get:

ERROR: Error when installing package DSGE:
AssertionError: length(dirs) == 1
Stacktrace:
 [1] install_archive(::Array{Pair{String,Bool},1}, ::Base.SHA1, ::String) at D:\buildbot\worker\ppackage_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Operations.jl:562
 [2] macro expansion at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\srackage_win64\build\usr\share\julia\stdlib\v1.rc\Operations.jl:727 [inlined]
 [3] (::Pkg.Operations.var"#58#61"{Bool,Pkg.Types.Context,Dict{Base.UUID,Array{String,1}},Channelc\Operations.jl:727 [inlined]l{Any},Channel{Any}})() at .\task.jl:356  

The error occurs in Pkg.jl's Operations.jl in the function install_archive. The function checks whether the temporary folder, which includes the extracted DSGE.jl (or any other) package, contains exactly one path - excluding a possible spurious file called pax_global_header, which seemingly 7z might create on Windows:

            dirs = readdir(dir)
            # 7z on Win might create this spurious file
            filter!(x -> x != "pax_global_header", dirs)
            @assert length(dirs) == 1
            unpacked = joinpath(dir, dirs[1])

However, for DSGE.jl the contents of the temporary folder that is created during the installation of DSGE.jl look like this:

julia> tp = "C:/Users/Juergen/AppData/Local/Temp/84mXPHT7jq6E/" # that's the random temp path
julia> readdir(tp)
13-element Array{String,1}:
 "4e6ee4544e19ad2bafb35de9c647ce2e1d3f74c7.data"
 "4e6ee4544e19ad2bafb35de9c647ce2e1d3f74c7.paxheader"
 "5b8fa286e6a8358c29532fad1b593b644169585e.data"
 "5b8fa286e6a8358c29532fad1b593b644169585e.paxheader"
 "634244007a6e3cbe50fba432cce3285b48c42ee2.data"
 "634244007a6e3cbe50fba432cce3285b48c42ee2.paxheader"
 "FRBNY-DSGE-DSGE.jl-a824dcd"
 "bc56c6b6969d5a0662d910e703089c2786d69168.data"
 "bc56c6b6969d5a0662d910e703089c2786d69168.paxheader"
 "e17f8432420fc31d1ddcca8003fba9b91968c096.data"
 "e17f8432420fc31d1ddcca8003fba9b91968c096.paxheader"
 "eef350acd564c108036f8adf58f321418d003fa1.data"
 "eef350acd564c108036f8adf58f321418d003fa1.paxheader"

Thus, filtering pax_global_header doesn't help because it isn't even there. Instead there is a bunch of other .data and .paxheader files, which are not filtered out such that @assert length(dirs) == 1 errors.

I guess this would be easy to fix in Julia. Simpliy replacing

filter!(x -> x != "pax_global_header", dirs)

with

filter!(x -> (x != "pax_global_header") &
            !endswith(x, ".data") &
            !endswith(x, ".paxheader") , dirs)

should do the trick (have submitted the issue to Julia here). However, I thought it might be useful to submit the issue here as well, since I never had this issue with any other package (and I installed quite a lot...). What's so special about the DSGE.jl package that 7z creates these weird "spurious" files on Windows?

Version info:

Julia Version 1.5.0
Commit 96786e22cc (2020-08-01 23:44 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-9.0.1 (ORCJIT, skylake)
Environment:
  JULIA = "C:\Users\Juergen\AppData\Local\Programs\Julia 1.5.0\bin\"
  JULIA_EDITOR = "C:\Users\Juergen\AppData\Local\Programs\Microsoft VS Code\Code.exe"
  JULIA_NUM_THREADS = 8

Installation hangs with Julia 1.6.3

Hello,

I am using Julia 1.6.3 on arch linux. I am using the aur version due to issues with llvm. I tried ] and add DSGE but it hangs in the Resolving package versions.... It clearly is doing something, because the network is using 5mbs of download. I can install any other package and I can install the 1.1.6 version using add [email protected].

I am not sure what is the problem (if there is one), but maybe the readme should be more clear about this?

I will be glad to help you with more information

Thanks in advance

Docker file error

Hi

I am building from docker along with some other libraries along with python and I get an error when trying to install DSGE.jl.

I get this error when I try to install:

ERROR: LoadError: failed to clone from https://github.com/FRBNY-DSGE/DSGE.jl.git, error: GitError(Code:ERROR, Class:Zlib, error inflating zlib stream)
Stacktrace:
 [1] pkgerror(::String) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Types.jl:52
 [2] clone(::Pkg.Types.Context, ::String, ::String; header::String, credentials::Nothing, kwargs::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:isbare,),Tuple{Bool}}}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/GitTools.jl:153
 [3] #ensure_clone#3 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/GitTools.jl:112 [inlined]
 [4] install_git(::Pkg.Types.Context, ::Base.UUID, ::String, ::Base.SHA1, ::Array{String,1}, ::VersionNumber, ::String) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Operations.jl:609
 [5] download_source(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}, ::Dict{Base.UUID,Array{String,1}}; readonly::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Operations.jl:768
 [6] #download_source#54 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Operations.jl:687 [inlined]
 [7] download_source at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Operations.jl:685 [inlined]
 [8] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}, ::Array{Base.UUID,1}; preserve::Pkg.Types.PreserveLevel, platform::Pkg.BinaryPlatforms.Linux) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Operations.jl:1137
 [9] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}; preserve::Pkg.Types.PreserveLevel, platform::Pkg.BinaryPlatforms.Linux, kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/API.jl:188
 [10] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/API.jl:139
 [11] #add#21 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/API.jl:67 [inlined]
 [12] add at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/API.jl:67 [inlined]
 [13] #add#20 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/API.jl:66 [inlined]
 [14] add(::Array{String,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/API.jl:66
 [15] top-level scope at /tmp/scripts/install.jl:2
 [16] include(::Function, ::Module, ::String) at ./Base.jl:380
 [17] include(::Module, ::String) at ./Base.jl:368
 [18] exec_options(::Base.JLOptions) at ./client.jl:296
 [19] _start() at ./client.jl:506
in expression starting at /tmp/scripts/install.jl:2
caused by [exception 1]
GitError(Code:ERROR, Class:Zlib, error inflating zlib stream)
Stacktrace:
 [1] macro expansion at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/LibGit2/src/error.jl:106 [inlined]
 [2] clone(::SubString{String}, ::String, ::LibGit2.CloneOptions) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/LibGit2/src/repository.jl:459
 [3] clone(::SubString{String}, ::String; branch::String, isbare::Bool, remote_cb::Ptr{Nothing}, credentials::LibGit2.CachedCredentials, callbacks::Dict{Symbol,Tuple{Ptr{Nothing},Any}}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/LibGit2/src/LibGit2.jl:580
 [4] clone(::Pkg.Types.Context, ::String, ::String; header::String, credentials::Nothing, kwargs::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:isbare,),Tuple{Bool}}}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/GitTools.jl:143
 [5] #ensure_clone#3 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/GitTools.jl:112 [inlined]
 [6] install_git(::Pkg.Types.Context, ::Base.UUID, ::String, ::Base.SHA1, ::Array{String,1}, ::VersionNumber, ::String) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Operations.jl:609
 [7] download_source(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}, ::Dict{Base.UUID,Array{String,1}}; readonly::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Operations.jl:768
 [8] #download_source#54 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Operations.jl:687 [inlined]
 [9] download_source at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Operations.jl:685 [inlined]
 [10] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}, ::Array{Base.UUID,1}; preserve::Pkg.Types.PreserveLevel, platform::Pkg.BinaryPlatforms.Linux) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Operations.jl:1137
 [11] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}; preserve::Pkg.Types.PreserveLevel, platform::Pkg.BinaryPlatforms.Linux, kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/API.jl:188
 [12] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/API.jl:139
 [13] #add#21 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/API.jl:67 [inlined]
 [14] add at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/API.jl:67 [inlined]
 [15] #add#20 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/API.jl:66 [inlined]
 [16] add(::Array{String,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/API.jl:66
 [17] top-level scope at /tmp/scripts/install.jl:2
 [18] include(::Function, ::Module, ::String) at ./Base.jl:380
 [19] include(::Module, ::String) at ./Base.jl:368
 [20] exec_options(::Base.JLOptions) at ./client.jl:296
 [21] _start() at ./client.jl:506
The command '/bin/sh -c julia --color=yes /tmp/scripts/install.jl' returned a non-zero code: 1

minimal example run_default.jl fails

Hey, run_default.jl works only until estimate(m, data):

julia> estimate(m, data)
Reoptimizing...
Iter     Function value   Gradient norm 
ERROR: MethodError: no method matching kalman_likelihood(::Array{UnitRange{Int64},1}, ::Array{Float64,2}, ::Array{Array{Float64,2},1}, ::Array{Array{Float64,2},1}, ::Array{Array{Float64,1},1}, ::Array{Array{Float64,2},1}, ::Array{Array{Float64,2},1}, ::Array{Array{Float64,1},1}, ::Array{Array{Float64,2},1}, ::Array{Float64,1}, ::Array{Float64,2}; Nt0=2, tol=0.0)
Closest candidates are:
  kalman_likelihood(::Array{UnitRange{Int32},1}, ::AbstractArray, ::Array{#s775,1} where #s775<:AbstractArray{S<:Real,2}, ::Array{#s764,1} where #s764<:AbstractArray{S<:Real,2}, ::Array{#s763,1} where #s763<:AbstractArray{S<:Real,1}, ::Array{#s762,1} where #s762<:AbstractArray{S<:Real,2}, ::Array{#s761,1} where #s761<:AbstractArray{S<:Real,2}, ::Array{#s760,1} where #s760<:AbstractArray{S<:Real,1}, ::Array{#s759,1} where #s759<:AbstractArray{S<:Real,2}, ::AbstractArray{S<:Real,1}, ::AbstractArray{S<:Real,2}; Nt0, tol) where S<:Real at /home/johannes/.julia/packages/StateSpaceRoutines/kV82S/src/filters/kalman_filter.jl:337
  kalman_likelihood(::Array{UnitRange{Int32},1}, ::AbstractArray, ::Array{#s782,1} where #s782<:AbstractArray{S<:Real,2}, ::Array{#s781,1} where #s781<:AbstractArray{S<:Real,2}, ::Array{#s780,1} where #s780<:AbstractArray{S<:Real,1}, ::Array{#s779,1} where #s779<:AbstractArray{S<:Real,2}, ::Array{#s778,1} where #s778<:AbstractArray{S<:Real,2}, ::Array{#s777,1} where #s777<:AbstractArray{S<:Real,1}, ::Array{#s776,1} where #s776<:AbstractArray{S<:Real,2}, ::AbstractArray{S<:Real,1}) where S<:Real at /home/johannes/.julia/packages/StateSpaceRoutines/kV82S/src/filters/kalman_filter.jl:337 got unsupported keyword arguments "Nt0", "tol"
  kalman_likelihood(::Array{UnitRange{Int32},1}, ::AbstractArray, ::Array{#s789,1} where #s789<:AbstractArray{S<:Real,2}, ::Array{#s788,1} where #s788<:AbstractArray{S<:Real,2}, ::Array{#s787,1} where #s787<:AbstractArray{S<:Real,1}, ::Array{#s786,1} where #s786<:AbstractArray{S<:Real,2}, ::Array{#s785,1} where #s785<:AbstractArray{S<:Real,2}, ::Array{#s784,1} where #s784<:AbstractArray{S<:Real,1}, ::Array{#s783,1} where #s783<:AbstractArray{S<:Real,2}) where S<:Real at /home/johannes/.julia/packages/StateSpaceRoutines/kV82S/src/filters/kalman_filter.jl:337 got unsupported keyword arguments "Nt0", "tol"
  ...
Stacktrace:
 [1] #filter_likelihood#105(::Date, ::Bool, ::Float64, ::Function, ::Model1002{Float64}, ::Array{Float64,2}, ::System{Float64}, ::Array{Float64,1}, ::Array{Float64,2}) at /home/johannes/.julia/packages/DSGE/gCSuP/src/estimate/filter.jl:137
 [2] (::getfield(DSGE, Symbol("#kw##filter_likelihood")))(::NamedTuple{(:include_presample, :tol),Tuple{Bool,Float64}}, ::typeof(DSGE.filter_likelihood), ::Model1002{Float64}, ::Array{Float64,2}, ::System{Float64}, ::Array{Float64,1}, ::Array{Float64,2}) at ./sysimg.jl:0
 [3] (::getfield(DSGE, Symbol("#kw##filter_likelihood")))(::NamedTuple{(:include_presample, :tol),Tuple{Bool,Float64}}, ::typeof(DSGE.filter_likelihood), ::Model1002{Float64}, ::Array{Float64,2}, ::System{Float64}, ::Array{Float64,1}) at ./none:0 (repeats 2 times)
 [4] #likelihood#125(::Bool, ::Bool, ::Bool, ::Float64, ::Symbol, ::Function, ::Model1002{Float64}, ::Array{Float64,2}) at /home/johannes/.julia/packages/DSGE/gCSuP/src/estimate/posterior.jl:178
 [5] (::getfield(DSGE, Symbol("#kw##likelihood")))(::NamedTuple{(:sampler, :catch_errors),Tuple{Bool,Bool}}, ::typeof(likelihood), ::Model1002{Float64}, ::Array{Float64,2}) at ./none:0
 [6] #posterior#123(::Bool, ::Float64, ::Bool, ::Function, ::Model1002{Float64}, ::Array{Float64,2}) at /home/johannes/.julia/packages/DSGE/gCSuP/src/estimate/posterior.jl:43
 [7] #posterior at ./none:0 [inlined]
 [8] (::getfield(DSGE, Symbol("#f_opt#130")){Bool,Model1002{Float64},Array{Float64,2}})(::Array{Float64,1}) at /home/johannes/.julia/packages/DSGE/gCSuP/src/estimate/optimize.jl:89
 [9] #csminwel#133(::Float64, ::Float64, ::Float64, ::Int32, ::Bool, ::Bool, ::Bool, ::Symbol, ::Random.MersenneTwister, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(csminwel), ::getfield(DSGE, Symbol("#f_opt#130")){Bool,Model1002{Float64},Array{Float64,2}}, ::getfield(DSGE, Symbol("#grad#135")){Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},getfield(DSGE, Symbol("#f_opt#130")){Bool,Model1002{Float64},Array{Float64,2}},Tuple{}}, ::Array{Float64,1}, ::Array{Float64,2}) at /home/johannes/.julia/packages/DSGE/gCSuP/src/estimate/csminwel.jl:110
 [10] #csminwel at ./none:0 [inlined]
 [11] #csminwel#134(::Float64, ::Float64, ::Float64, ::Int32, ::Bool, ::Bool, ::Bool, ::Symbol, ::Random.MersenneTwister, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(csminwel), ::getfield(DSGE, Symbol("#f_opt#130")){Bool,Model1002{Float64},Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}) at /home/johannes/.julia/packages/DSGE/gCSuP/src/estimate/csminwel.jl:354
 [12] (::getfield(DSGE, Symbol("#kw##csminwel")))(::NamedTuple{(:xtol, :ftol, :grtol, :iterations, :store_trace, :show_trace, :extended_trace, :verbose, :rng),Tuple{Float64,Float64,Float64,Int32,Bool,Bool,Bool,Symbol,Random.MersenneTwister}}, ::typeof(csminwel), ::Function, ::Array{Float64,1}, ::Array{Float64,2}) at ./none:0
 [13] #optimize!#126(::Symbol, ::Float64, ::Float64, ::Float64, ::Int32, ::Bool, ::Bool, ::Bool, ::Bool, ::Float64, ::Symbol, ::typeof(optimize!), ::Model1002{Float64}, ::Array{Float64,2}) at /home/johannes/.julia/packages/DSGE/gCSuP/src/estimate/optimize.jl:190
 [14] (::getfield(DSGE, Symbol("#kw##optimize!")))(::NamedTuple{(:method, :ftol, :grtol, :xtol, :iterations, :show_trace, :step_size, :verbose, :mle),Tuple{Symbol,Float64,Float64,Float64,Int32,Bool,Float64,Symbol,Bool}}, ::typeof(optimize!), ::Model1002{Float64}, ::Array{Float64,2}) at ./none:0
 [15] #estimate#183(::Symbol, ::Array{Any,2}, ::Bool, ::Bool, ::Array{String,1}, ::Bool, ::Int32, ::Int32, ::Bool, ::typeof(estimate), ::Model1002{Float64}, ::Array{Float64,2}) at /home/johannes/.julia/packages/DSGE/gCSuP/src/estimate/estimate.jl:111
 [16] estimate(::Model1002{Float64}, ::Array{Float64,2}) at /home/johannes/.julia/packages/DSGE/gCSuP/src/estimate/estimate.jl:78
 [17] top-level scope at none:0

I'm using Julia version 1.0.4 on Elementary OS.

cminwell

Hi,
There is a small bug in the cminwell function in the DSGE package. Line 265 should be xh = x3 and not xh = h3. h3 is not defined in the code. I tried to make the change but I got other errors related to OptimizationTrace.
Andres

metropolis_hastings() running too slow

I'm estimating an AnSchorheide-like model (available here: https://github.com/caioodantas/Behavioral-New-Keynesian-Model) but the runtime (10 hours predicted) is higher than what I get using Dynare (3 hours).

I'm using the following custom settings:

m <= Setting(:data_vintage, "820102")
m <= Setting(:date_forecast_start, quartertodate("2007-Q4"))
m <= Setting(:n_mh_simulations, 250000)
m <= Setting(:n_mh_blocks, 5)
m <= Setting(:mh_thin, 4)
m <= Setting(:use_population_forecast, false) # Population forecast not available as data to turn off
m <= Setting(:mh_cc, 0.6, "Jump size for Metropolis-Hastings (after initialization)")

Is there a way to speed up this process?

In Dynare I was using only 1 block with 1,250,000 simulations(replics), but when I try to use n_mh_simulations=1250000 in Julia I get:

ERROR: LoadError: InexactError: check_top_bit(UInt64, -1250000)
Stacktrace:
[1] throw_inexacterror(::Symbol, ::Type{UInt64}, ::Int64) at .\boot.jl:558
[2] check_top_bit at .\boot.jl:572 [inlined]
[3] toUInt64 at .\boot.jl:683 [inlined]
[4] UInt64 at .\boot.jl:713 [inlined]
[5] convert at .\number.jl:7 [inlined]
[6] setindex! at .\array.jl:847 [inlined]
[7] _dataspace(::Tuple{Int64,Int64}, ::Tuple{}) at C:\Users\Samsung\.julia\packages\HDF5\T1b9x\src\HDF5.jl:1221

TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.

If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.

If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

UndefVarError: Optimizer not defined

I run this DSGE.jl in Julia,and get "WARNING: could not import Optim.Optimizer into DSGE. ERROR: LoadError: LoadError: LoadError: UndefVarError: Optimizer not defined
".Could you help me to solve this problem, please?

ERROR: UndefVarError: Model1002 not defined

Hello

I am trying to run make_packet.jl in JuliaPro_v1.0.5-2 but I am getting

ERROR: UndefVarError: Model1002 not defined

after run line of m = Model1002()

What could I be do wrong?

Thanks a lot

MethodError while running the run_default.jl

Hi, I am trying to study this package, and I was running the 'run_default.jl'. It ran into this problem in the estimate(m) step:

MethodError: no method matching Optim.MultivariateOptimizationResults(::DSGE.Csminwel, ::Array{Float64,1}, ::Array{Float64,1}, ::Float64, ::Int64, ::Bool, ::Bool, ::Float64, ::Float64, ::Bool, ::Float64, ::Float64, ::Bool, ::Float64, ::Float64, ::Bool, ::Array{Optim.OptimizationState{Float64,DSGE.Csminwel},1}, ::Int64, ::Int64, ::Int64)
Closest candidates are:
  Optim.MultivariateOptimizationResults(::O, ::Tx, ::Tx, ::Tf, ::Int64, ::Bool, ::Bool, ::T, ::T, ::Tc, !Matched::Tc, !Matched::Bool, !Matched::T, ::T, !Matched::Tc, ::Tc, !Matched::Bool, !Matched::T, !Matched::Tc, !Matched::Bool, !Matched::M, !Matched::Int64, !Matched::Int64, !Matched::Int64, !Matched::Tls) where {O, T, Tx, Tc, Tf, M, Tls} at C:\Users\kinet\.julia\packages\Optim\hXam0\src\types.jl:167

The version I am using is listed below:
Julia: 1.0.4
[6cf23378] DSGE v0.7.1
[a93c6f00] DataFrames v0.19.1
[7073ff75] IJulia v1.19.0
[4d1e1d77] Nullables v0.0.8
[bac558e1] OrderedCollections v1.1.0
[ade2ca70] Dates
[b77e0a4c] InteractiveUtils

How should I handle this error?

AnSchorfheide

When running the Julia file "an_schorfheide.jl" one gets immediately an error message "Load Error: UndefVarError: AbstractRepModel not defined". This happens in Julia version 1.1.1 and also in version 1.7.1.
How can one run the an_schorfheide file without this error message?
Best regards,
Fritz

Compatibility with more recent Julia versions

It seems that the compatibility is restricted to Julia 1.0 and 1.1. It would be great if you guys can allow more recent versions (currently 1.4 is the state-of-the-art) of Julia.

test DSGE fails

Sorry to bother you again with such issues, but test DSGE fails on Julia 1.0.5 (Manjaro Linux) with a segfault:

(v1.0) pkg> develop DSGE
  Updating git-repo `https://github.com/FRBNY-DSGE/DSGE.jl.git`
[ Info: Path `/home/johannes/.julia/dev/DSGE` exists and looks like the correct package, using existing path instead of cloning
 Resolving package versions...
  Updating `~/.julia/environments/v1.0/Project.toml`
 [no changes]
  Updating `~/.julia/environments/v1.0/Manifest.toml`
 [no changes]

(v1.0) pkg> test DSGE
   Testing DSGE
 Resolving package versions...
    Status `/tmp/tmp3UcXUu/Manifest.toml`
  [621f4979] AbstractFFTs v0.5.0
  [79e6a3ab] Adapt v1.0.1
  [ec485272] ArnoldiMethod v0.0.4
  [7d9fca2a] Arpack v0.3.2
  [4fba245c] ArrayInterface v2.2.0
  [4c555306] ArrayLayouts v0.1.5
  [13072b0f] AxisAlgorithms v1.0.0
  [aae01518] BandedMatrices v0.14.3
  [6e4b80f9] BenchmarkTools v0.4.3
  [9e28174c] BinDeps v1.0.0
  [b99e7846] BinaryProvider v0.5.8
  [a74b3585] Blosc v0.6.0
  [764a87c0] BoundaryValueDiffEq v2.3.1
  [e1450e63] BufferedStreams v1.0.0
  [631607c0] CMake v1.2.0
  [d5fb7624] CMakeWrapper v0.2.3
  [336ed68f] CSV v0.5.23
  [49dc2e85] Calculus v0.5.1
  [324d7699] CategoricalArrays v0.7.7
  [d360d2e6] ChainRulesCore v0.7.1
  [34f1f09b] ClusterManagers v0.3.2
  [aaaa29a8] Clustering v0.13.5
  [944b1d66] CodecZlib v0.6.0
  [3da002f7] ColorTypes v0.9.1
  [5ae59095] Colors v0.11.2
  [bbf7d656] CommonSubexpressions v0.2.0
  [34da2185] Compat v2.2.0
  [8f4d0f93] Conda v1.4.1
  [d38c429a] Contour v0.5.2
  [6cf23378] DSGE v1.1.3 [`~/.julia/dev/DSGE`]
  [9a962f9c] DataAPI v1.1.0
  [a93c6f00] DataFrames v0.19.4
  [864edb3b] DataStructures v0.17.11
  [e2d170a0] DataValueInterfaces v1.0.0
  [e7dc6d0d] DataValues v0.4.13
  [bcd4f6db] DelayDiffEq v5.23.0
  [2b5f629d] DiffEqBase v6.19.0
  [459566f4] DiffEqCallbacks v2.13.0
  [01453d9d] DiffEqDiffTools v1.6.0
  [5a0ffddc] DiffEqFinancial v2.2.1
  [c894b116] DiffEqJump v6.5.0
  [77a26b50] DiffEqNoiseProcess v3.10.0
  [055956cb] DiffEqPhysics v3.5.0
  [163ba53b] DiffResults v1.0.2
  [b552c78f] DiffRules v1.0.1
  [0c46a032] DifferentialEquations v6.10.1
  [c619ae07] DimensionalPlotRecipes v1.2.0
  [b4f34e82] Distances v0.8.2
  [31c24e10] Distributions v0.21.12
  [ffbed154] DocStringExtensions v0.8.1
  [e30172f5] Documenter v0.24.7
  [d4d017d3] ExponentialUtilities v1.6.0
  [e2ba6199] ExprTools v0.1.0
  [8f5d6c58] EzXML v1.0.0
  [c87230d0] FFMPEG v0.2.4
  [7a1cc6ca] FFTW v1.1.0
  [5789e2e9] FileIO v1.2.4
  [48062228] FilePathsBase v0.7.0
  [1a297f60] FillArrays v0.8.7
  [6a86dc24] FiniteDiff v2.1.0
  [53c48c17] FixedPointNumbers v0.7.1
  [f6369f11] ForwardDiff v0.10.10
  [6e85b7ee] FredData v0.4.0
  [069b7b12] FunctionWrappers v1.1.1
  [28b8d3ca] GR v0.47.0
  [01680d73] GenericSVD v0.2.2
  [4d00f742] GeometryTypes v0.8.2
  [f67ccb44] HDF5 v0.12.5
  [cd3eb016] HTTP v0.8.13
  [0862f596] HTTPClient v0.2.1
  [d25df0c9] Inflate v0.1.2
  [83e8ac13] IniFile v0.5.0
  [a98d9a8b] Interpolations v0.12.9
  [41ab1584] InvertedIndices v1.0.0
  [42fd0dbc] IterativeSolvers v0.8.4
  [82899510] IteratorInterfaceExtensions v1.0.0
  [033835bb] JLD2 v0.1.12
  [682c06a0] JSON v0.21.0
  [5ab0869b] KernelDensity v0.5.1
  [b27032c2] LibCURL v0.5.2
  [522f3ed2] LibExpat v0.5.0
  [2ec943e9] Libz v1.0.1
  [093fc24a] LightGraphs v1.3.1
  [d3d80556] LineSearches v7.0.1
  [23992714] MAT v0.7.0
  [1914dd2f] MacroTools v0.5.5
  [739be429] MbedTLS v0.6.8
  [442fdcdd] Measures v0.3.1
  [e1d29d7a] Missings v0.4.3
  [78c3b35d] Mocking v0.7.1
  [e47e5152] ModelConstructors v0.1.4
  [46d2c3a1] MuladdMacro v0.2.2
  [f9640e96] MultiScaleArrays v1.6.0
  [d41bc354] NLSolversBase v7.5.0
  [2774e3e8] NLsolve v4.3.0
  [872c559c] NNlib v0.6.6
  [77ba4419] NaNMath v0.3.3
  [b8a86587] NearestNeighbors v0.4.4
  [4d1e1d77] Nullables v0.0.8
  [510215fc] Observables v0.3.1
  [6fe1bfb0] OffsetArrays v1.0.4
  [429524aa] Optim v0.20.1
  [bac558e1] OrderedCollections v1.1.0
  [1dea7af3] OrdinaryDiffEq v5.29.0
  [90014a1f] PDMats v0.9.12
  [9b87118b] PackageCompiler v0.6.5
  [d96e819e] Parameters v0.12.0
  [69de0a69] Parsers v0.3.12
  [ccf2f8ad] PlotThemes v1.0.3
  [995b91a9] PlotUtils v0.6.5
  [91a5bcdd] Plots v0.27.1
  [e409e4f3] PoissonRandom v0.4.0
  [2dfb63ee] PooledArrays v0.5.3
  [85a6dd25] PositiveFactorizations v0.2.3
  [1fd47b50] QuadGK v2.3.1
  [e6cf234a] RandomNumbers v1.4.0
  [c84ed2f1] Ratios v0.4.0
  [3cdcf5f2] RecipesBase v0.8.0
  [731186ca] RecursiveArrayTools v2.2.0
  [f2c3362d] RecursiveFactorization v0.1.0
  [189a3867] Reexport v0.2.0
  [ae029012] Requires v1.0.1
  [ae5879a3] ResettableStacks v1.0.0
  [79098fc4] Rmath v0.6.0
  [f2b01f46] Roots v0.8.4
  [c6043b28] SMC v0.1.8
  [992d4aef] Showoff v0.3.1
  [699a6c99] SimpleTraits v0.9.1
  [a2af1166] SortingAlgorithms v0.3.1
  [47a9eef4] SparseDiffTools v1.1.1
  [276daf66] SpecialFunctions v0.8.0
  [261fd431] StateSpaceRoutines v0.3.1
  [90137ffa] StaticArrays v0.12.1
  [2913bbd2] StatsBase v0.32.2
  [4c63d2b9] StatsFuns v0.9.4
  [f3b207a7] StatsPlots v0.12.0
  [9672c7b4] SteadyStateDiffEq v1.5.0
  [789caeaf] StochasticDiffEq v6.17.1
  [c3572dad] Sundials v3.8.3
  [3783bdb8] TableTraits v1.0.0
  [bd369af6] Tables v0.2.11
  [f269a46b] TimeZones v0.11.0
  [9f7883ad] Tracker v0.2.6
  [3bb67fe8] TranscodingStreams v0.9.5
  [a2a6695c] TreeViews v0.3.0
  [30578b45] URIParser v0.4.0
  [81def892] VersionParsing v1.2.0
  [19fa3120] VertexSafeGraphs v0.1.1
  [ea10d353] WeakRefStrings v0.6.2
  [cc8bc4a8] Widgets v0.6.2
  [c17dfb99] WinRPM v0.4.3
  [efce3f68] WoodburyMatrices v0.5.2
  [700de1a5] ZygoteRules v0.2.0
  [2a0f44e3] Base64  [`@stdlib/Base64`]
  [ade2ca70] Dates  [`@stdlib/Dates`]
  [8bb1440f] DelimitedFiles  [`@stdlib/DelimitedFiles`]
  [8ba89e20] Distributed  [`@stdlib/Distributed`]
  [9fa8497b] Future  [`@stdlib/Future`]
  [b77e0a4c] InteractiveUtils  [`@stdlib/InteractiveUtils`]
  [76f85450] LibGit2  [`@stdlib/LibGit2`]
  [8f399da3] Libdl  [`@stdlib/Libdl`]
  [37e2e46d] LinearAlgebra  [`@stdlib/LinearAlgebra`]
  [56ddb016] Logging  [`@stdlib/Logging`]
  [d6f4376e] Markdown  [`@stdlib/Markdown`]
  [a63ad114] Mmap  [`@stdlib/Mmap`]
  [44cfe95a] Pkg  [`@stdlib/Pkg`]
  [de0858da] Printf  [`@stdlib/Printf`]
  [3fa0cd96] REPL  [`@stdlib/REPL`]
  [9a3f8284] Random  [`@stdlib/Random`]
  [ea8e919c] SHA  [`@stdlib/SHA`]
  [9e88b42a] Serialization  [`@stdlib/Serialization`]
  [1a1011a3] SharedArrays  [`@stdlib/SharedArrays`]
  [6462fe0b] Sockets  [`@stdlib/Sockets`]
  [2f01184e] SparseArrays  [`@stdlib/SparseArrays`]
  [10745b16] Statistics  [`@stdlib/Statistics`]
  [4607b0f0] SuiteSparse  [`@stdlib/SuiteSparse`]
  [8dfed614] Test  [`@stdlib/Test`]
  [cf7118a7] UUIDs  [`@stdlib/UUIDs`]
  [4ec0a83e] Unicode  [`@stdlib/Unicode`]
┌ Warning: Type annotations on keyword arguments not currently supported in recipes. Type information has been discarded
└ @ RecipesBase ~/.julia/packages/RecipesBase/G4s6f/src/RecipesBase.jl:116
┌ Warning: Type annotations on keyword arguments not currently supported in recipes. Type information has been discarded
└ @ RecipesBase ~/.julia/packages/RecipesBase/G4s6f/src/RecipesBase.jl:116
 * plot/plot.jl
The following warning is expected test behavior:

signal (11): Segmentation fault
in expression starting at /home/johannes/.julia/dev/DSGE/test/plot/plot.jl:115
jl_compile_linfo at /home/johannes/Documents/DSGE/julia/src/codegen.cpp:1191
emit_invoke at /home/johannes/Documents/DSGE/julia/src/codegen.cpp:3094
emit_expr at /home/johannes/Documents/DSGE/julia/src/codegen.cpp:3893
emit_ssaval_assign at /home/johannes/Documents/DSGE/julia/src/codegen.cpp:3615
emit_function at /home/johannes/Documents/DSGE/julia/src/codegen.cpp:3801
jl_compile_linfo at /home/johannes/Documents/DSGE/julia/src/codegen.cpp:1159
emit_invoke at /home/johannes/Documents/DSGE/julia/src/codegen.cpp:3094
emit_expr at /home/johannes/Documents/DSGE/julia/src/codegen.cpp:3893
emit_ssaval_assign at /home/johannes/Documents/DSGE/julia/src/codegen.cpp:3615
emit_function at /home/johannes/Documents/DSGE/julia/src/codegen.cpp:3801
jl_compile_linfo at /home/johannes/Documents/DSGE/julia/src/codegen.cpp:1159
jl_compile_method_internal at /home/johannes/Documents/DSGE/julia/src/gf.c:1774
jl_fptr_trampoline at /home/johannes/Documents/DSGE/julia/src/gf.c:1808
jl_apply_generic at /home/johannes/Documents/DSGE/julia/src/gf.c:2162
layout_args at /home/johannes/.julia/packages/Plots/WwFyB/src/layouts.jl:468
build_layout at /home/johannes/.julia/packages/Plots/WwFyB/src/layouts.jl:509
_plot_setup at /home/johannes/.julia/packages/Plots/WwFyB/src/pipeline.jl:218
_plot! at /home/johannes/.julia/packages/Plots/WwFyB/src/plot.jl:205
jl_fptr_trampoline at /home/johannes/Documents/DSGE/julia/src/gf.c:1809
jl_apply_generic at /home/johannes/Documents/DSGE/julia/src/gf.c:2162
#plot#137 at /home/johannes/.julia/packages/Plots/WwFyB/src/plot.jl:57
jl_fptr_trampoline at /home/johannes/Documents/DSGE/julia/src/gf.c:1809
jl_invoke at /home/johannes/Documents/DSGE/julia/src/gf.c:2312
plot at /home/johannes/.julia/packages/Plots/WwFyB/src/plot.jl:51 [inlined]
#plot_history_and_forecast at ./none:0
jl_fptr_trampoline at /home/johannes/Documents/DSGE/julia/src/gf.c:1809
jl_apply_generic at /home/johannes/Documents/DSGE/julia/src/gf.c:2162
do_call at /home/johannes/Documents/DSGE/julia/src/interpreter.c:324
eval_value at /home/johannes/Documents/DSGE/julia/src/interpreter.c:430
eval_stmt_value at /home/johannes/Documents/DSGE/julia/src/interpreter.c:363 [inlined]
eval_body at /home/johannes/Documents/DSGE/julia/src/interpreter.c:682
jl_interpret_toplevel_thunk_callback at /home/johannes/Documents/DSGE/julia/src/interpreter.c:806
unknown function (ip: 0xfffffffffffffffe)
unknown function (ip: 0x7f75e363dfef)
unknown function (ip: 0x6)
jl_interpret_toplevel_thunk at /home/johannes/Documents/DSGE/julia/src/interpreter.c:815
jl_toplevel_eval_flex at /home/johannes/Documents/DSGE/julia/src/toplevel.c:805
jl_parse_eval_all at /home/johannes/Documents/DSGE/julia/src/ast.c:838
jl_load at /home/johannes/Documents/DSGE/julia/src/toplevel.c:839
include at ./boot.jl:317 [inlined]
include_relative at ./loading.jl:1044
include at ./sysimg.jl:29
jl_fptr_trampoline at /home/johannes/Documents/DSGE/julia/src/gf.c:1809
jl_apply_generic at /home/johannes/Documents/DSGE/julia/src/gf.c:2162
include at ./client.jl:392
top-level scope at /home/johannes/.julia/dev/DSGE/test/runtests.jl:135 [inlined]
top-level scope at ./none:0
jl_fptr_trampoline at /home/johannes/Documents/DSGE/julia/src/gf.c:1809
jl_toplevel_eval_flex at /home/johannes/Documents/DSGE/julia/src/toplevel.c:799
jl_parse_eval_all at /home/johannes/Documents/DSGE/julia/src/ast.c:838
jl_load at /home/johannes/Documents/DSGE/julia/src/toplevel.c:839
include at ./boot.jl:317 [inlined]
include_relative at ./loading.jl:1044
include at ./sysimg.jl:29
jl_apply_generic at /home/johannes/Documents/DSGE/julia/src/gf.c:2162
include at ./client.jl:392
jl_fptr_trampoline at /home/johannes/Documents/DSGE/julia/src/gf.c:1809
jl_apply_generic at /home/johannes/Documents/DSGE/julia/src/gf.c:2162
do_call at /home/johannes/Documents/DSGE/julia/src/interpreter.c:324
eval_value at /home/johannes/Documents/DSGE/julia/src/interpreter.c:430
eval_stmt_value at /home/johannes/Documents/DSGE/julia/src/interpreter.c:363 [inlined]
eval_body at /home/johannes/Documents/DSGE/julia/src/interpreter.c:682
jl_interpret_toplevel_thunk_callback at /home/johannes/Documents/DSGE/julia/src/interpreter.c:806
unknown function (ip: 0xfffffffffffffffe)
unknown function (ip: 0x7f763209bd4f)
unknown function (ip: 0xffffffffffffffff)
jl_interpret_toplevel_thunk at /home/johannes/Documents/DSGE/julia/src/interpreter.c:815
jl_toplevel_eval_flex at /home/johannes/Documents/DSGE/julia/src/toplevel.c:805
jl_toplevel_eval_flex at /home/johannes/Documents/DSGE/julia/src/toplevel.c:754
jl_toplevel_eval_in at /home/johannes/Documents/DSGE/julia/src/builtins.c:622
eval at ./boot.jl:319
jl_apply_generic at /home/johannes/Documents/DSGE/julia/src/gf.c:2162
exec_options at ./client.jl:243
_start at ./client.jl:425
jl_apply_generic at /home/johannes/Documents/DSGE/julia/src/gf.c:2162
jl_apply at /home/johannes/Documents/DSGE/julia/ui/../src/julia.h:1537 [inlined]
true_main at /home/johannes/Documents/DSGE/julia/ui/repl.c:112
main at /home/johannes/Documents/DSGE/julia/ui/repl.c:233
__libc_start_main at /usr/lib/libc.so.6 (unknown line)
_start at /home/johannes/Documents/DSGE/julia/usr/bin/julia (unknown line)
Allocations: 380249653 (Pool: 380107236; Big: 142417); GC: 875
ERROR: Package DSGE errored during testing

I have just the following packages installed:

(v1.0) pkg> status
    Status `~/.julia/environments/v1.0/Project.toml`
  [336ed68f] CSV v0.5.23
  [6cf23378] DSGE v1.1.3 [`~/.julia/dev/DSGE`]
  [a93c6f00] DataFrames v0.19.4
  [e47e5152] ModelConstructors v0.1.4
  [bac558e1] OrderedCollections v1.1.0

estimate(m) and no method matching fieldnames

I am trying to run run_default.jl

After run estimate(m) I get next error message

Creating dataset...
API key loaded.
Fetching FRED series GDP...
ERROR: MethodError: no method matching fieldnames(::HTTP.ExceptionRequest.StatusError)
Closest candidates are:
fieldnames(::Core.TypeofBottom) at reflection.jl:175
fieldnames(::Type{#s21} where #s21<:Tuple) at reflection.jl:177
fieldnames(::DataType) at reflection.jl:172

Could you give me some advice in order to fix this?
I am using Julia Version 1.1.1 (2019-05-16)

Policy Simulation Library Catalog Criteria

This issue outlines how the DSGE.jl model satisfies the criteria for inclusion in the PSL catalog.

Once all "MUST" items are checked off, a PR will be opened to include a PSL_catalog.json configuration file in this repository.

Acceptance Criteria for Transparency and Quality

  • Models MUST be released under an OSI-approved open source license or the Creative Commons Public Domain Dedication (CC0).
  • Data MUST be publicly available, unless release is restricted by a third party.
    • FRED API Key available upon request
  • For any data that SHOULD not be disclosed, provided MUST be:
    A complete descriptive list of all data variables;
    Descriptive statistics for all data variables for such data (including averages, standard deviations, number of observations, and correlations to other variables), to the extent that the descriptive statistics do not violate the rule against disclosure;
    Contact information for the individual or entity who has unrestricted access to the data.
    A complete descriptive list of all data variables;
    Descriptive statistics for all data variables for such data (including averages, standard deviations, number of observations, and correlations to other variables), to the extent that the descriptive statistics do not violate the rule against disclosure;
    Contact information for the individual or entity who has unrestricted access to the data.
    • All data seem available
  • Projects MUST have unit tests and SHOULD report code coverage.
    • Many unit tests, code coverage is reported.
  • At least one test MUST generate key outputs from source materials, the test MUST be run with every new version, and the outputs of the test MUST be checked into the repository.
    • See the DSGE.jl/test/models/* directories for cached results from various model specifications.
  • Projects MUST report names and contact information for at least one maintainer.
  • Projects MUST have a suggested citation.
  • Projects MUST have a project overview.
    • See README
  • Projects MUST have installation directions.
    • See README
  • Project MUST be mirrored in the same GitHub organization as PSL, and therefore they MUST be under version control.
  • Projects MUST use a consistent versioning scheme, which SHOULD be semantic versioning.

Community Criteria

  • Projects SHOULD have a public roadmap.
  • Projects SHOULD have contributor documentation and guidelines.
    • Contributor guide here
  • Projects SHOULD have regular office hours, webinars, or standing meetings.
  • Projects SHOULD list technical contributors.
  • Projects SHOULD list funders.
    • Clear that model supported by FRBNY
  • Projects SHOULD list user citations and case studies.
  • Projects SHOULD include subject matter tags, choosing from ...
    • See "About" section on main page for GitHub repo
  • Projects SHOULD include a disclaimer.
    • See README
  • Projects SHOULD have a public issues tracker.
  • Projects SHOULD have a changelog.
  • Projects MAY have a Stack Overflow channel.
  • Projects MAY include a "News" translation of the changelog for users.
  • Projects MAY include criteria for participating in cross-model PSL initiatives.
  • Projects MAY include a link to a webapp version.
  • Projects MAY include a list of consultants.

Interoperability Criteria

  • The source code SHOULD be written in an open source language.
    • Julia
  • A PSL_catalog.json configuration file to be used for cataloging these criteria MUST be included in the project's repository. Specific instructions for creating this file can be found in the Catalog-Builder Documentation.

Please respond if there are criteria that I have missed.

If a maintainer of this model would be available to join the PSL Leadership Council meeting at 3pm ET on June 15 (call in information available at the PSL events page), the Council would appreciate their participation. We will be discussing the inclusion of this model in the PSL catalog at that time and it would be useful to have a back and forth with any questions (from all parties). Thanks!

cc @MarcoDelNegro @chenwilliam77 @alissarjohnson @ShlokG @Peter-Metz

Failed installation on Julia 1.10

The installation failed on julia ver. 1.10 with the error message showing:
Updating registry at ~/.julia/registries/General.toml
Resolving package versions...
ERROR: Unsatisfiable requirements detected for package JLD2 [033835bb]:
JLD2 [033835bb] log:
├─possible versions are: 0.1.0-0.4.45 or uninstalled
├─restricted by julia compatibility requirements to versions: 0.4.28-0.4.45 or uninstalled
└─restricted by compatibility requirements with DSGE [6cf23378] to versions: 0.1.0-0.3.3 — no versions left
└─DSGE [6cf23378] log:
├─possible versions are: 0.5.0-1.3.0 or uninstalled
└─restricted to versions * by an explicit requirement, leaving only versions: 0.5.0-1.3.0

This seems to be related to the issue #216, which looks like it hasn't been addressed. Can someone take a look at this issue, please? Thanks!

Julia Version (run_default.jl)

Hi,

I've tried running the run_default.jl on different Julia versions but each of them is giving different errors. What version of Julia would you suggest?

For Julia 1.0

Error

add DSGE
Resolving package versions...
ERROR: Error when installing packages:
AssertionError: length(dirs) == 1
Stacktrace:
[1] macro expansion at .\logging.jl:311 [inlined]
[2] install_archive(::Array{String,1}, ::Base.SHA1, ::String) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.0\Pkg\src\Operations.jl:452
[3] macro expansion at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.0\Pkg\src\Operations.jl:570 [inlined]
[4] (::getfield(Pkg.Operations, Symbol("##21#24")){Pkg.Types.Context,Dict{Base.UUID,Base.SHA1},Dict{Base.UUID,Array{String,1}}})() at .\task.jl:259

For Julia 0.7

ERROR: LoadError: UndefVarError: Model1002 not defined
Stacktrace:
[1] top-level scope at none:0
[2] include at .\boot.jl:317 [inlined]
[3] include_relative(::Module, ::String) at .\loading.jl:1038
[4] include(::Module, ::String) at .\sysimg.jl:29
[5] include(::String) at .\client.jl:398
[6] top-level scope at none:0
in expression starting at C:\Users\moorj\AppData\Local\Julia-0.7.0\DSGE.jl-master\DSGE.jl-master\docs\examples\run_default.jl:16

For Julia 1.1

ERROR: LoadError: FRED API Key not detected.
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] load_fred_key() at /data/moorjani/.julia/packages/FredData/bGF0k/src/FredData.jl:82
[3] Type at /data/moorjani/.julia/packages/FredData/bGF0k/src/FredData.jl:89 [inlined]
[4] #load_fred_data#78(::Date, ::Date, ::Symbol, ::Function, ::Model1002{Float64}) at /data/moorjani/.julia/packages/DSGE/5LCnG/src/data/fred_data.jl:81
[5] (::getfield(DSGE, Symbol("#kw##load_fred_data")))(::NamedTuple{(:start_date, :end_date, :verbose),Tuple{Date,Date,Symbol}}, ::typeof(load_fred_data), ::Model1002{Float64}) at ./none:0
[6] #load_data_levels#61(::Symbol, ::Function, ::Model1002{Float64}) at /data/moorjani/.julia/packages/DSGE/5LCnG/src/data/load_data.jl:161
[7] #load_data_levels at ./none:0 [inlined]
[8] #load_data#60(::Symbol, ::Bool, ::Symbol, ::Bool, ::Symbol, ::Function, ::Model1002{Float64}) at /data/moorjani/.julia/packages/DSGE/5LCnG/src/data/load_data.jl:58
[9] (::getfield(DSGE, Symbol("#kw##load_data")))(::NamedTuple{(:try_disk, :check_empty_columns, :summary_statistics),Tuple{Bool,Bool,Symbol}}, ::typeof(load_data), ::Model1002{Float64}) at ./none:0
[10] top-level scope at /gsfs0/data/moorjani/DSGE-jl-master/docs/examples/run_default.jl:44
[11] top-level scope at util.jl:156
[12] include at ./boot.jl:326 [inlined]
[13] include_relative(::Module, ::String) at ./loading.jl:1038
[14] include(::Module, ::String) at ./sysimg.jl:29
[15] include(::String) at ./client.jl:403
[16] top-level scope at none:0
in expression starting at /gsfs0/data/moorjani/DSGE-jl-master/docs/examples/run_default.jl:43

For Julia 1.3

ERROR: LoadError: MethodError: no method matching load_data(::Model1002{Float64}; try_disk=false, check_empty_columns=false, summary_statistics=:none)
Closest candidates are:
load_data(::AbstractDSGEModel; cond_type, try_disk, verbose) at C:\Users\moorj.julia\packages\DSGE\R18NA\src\data\load_data.jl:26 got unsupported keyword arguments "check_empty_columns", "summary_statistics"
Stacktrace:
[1] kwerr(::NamedTuple{(:try_disk, :check_empty_columns, :summary_statistics),Tuple{Bool,Bool,Symbol}}, ::Function, ::Model1002{Float64}) at .\error.jl:125
[2] (::DSGE.var"#kw##load_data")(::NamedTuple{(:try_disk, :check_empty_columns, :summary_statistics),Tuple{Bool,Bool,Symbol}}, ::typeof(load_data), ::Model1002{Float64}) at .\none:0
[3] top-level scope at C:\Users\moorj\AppData\Local\Julia-1.3.1\DSGE.jl-master\DSGE.jl-master\docs\examples\run_default.jl:44
[4] top-level scope at util.jl:155
[5] include at .\boot.jl:328 [inlined]
[6] include_relative(::Module, ::String) at .\loading.jl:1105
[7] include(::Module, ::String) at .\Base.jl:31
[8] include(::String) at .\client.jl:424
[9] top-level scope at REPL[20]:1
in expression starting at C:\Users\moorj\AppData\Local\Julia-1.3.1\DSGE.jl-master\DSGE.jl-master\docs\examples\run_default.jl:43

I would really appreciate if there's a solution to resolve in any of the versions.

Thanks.

Getting started

Hi

I am new to Julia so I am afraid my question is very basic. I have downloaded Julia 0.7 and installed the DSGE package, with
] add DSGE (as an alternative I used ] add [email protected]

This worked. Then I tried:
using DSGE

Then I had a LoadError: No deps.jl file could be found

What am I doing wrong? I would just try to run the Basic example file ;)

Thanks in advance

Angela

test DSGE fails

After pkg> add DSGE, pkg> test DSGE fails as follows:

Test Summary: |
Check proper model paths | No tests

  • parameters.jl
    Ensure transformations to the real line/model space are valid: Error During Test at C:\Users\Denis.julia\packages\DSGE\o009Y\test\parameters.jl:4
    Got exception outside of a @test
    UndefVarError: subtypes not defined
    Stacktrace:
    [1] top-level scope at C:\Users\Denis.julia\packages\DSGE\o009Y\test\parameters.jl:5
    [2] top-level scope at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\Test\src\Test.jl:1083
    [3] top-level scope at C:\Users\Denis.julia\packages\DSGE\o009Y\test\parameters.jl:5
    [4] include at .\boot.jl:326 [inlined]
    [5] include_relative(::Module, ::String) at .\loading.jl:1038
    [6] include(::Module, ::String) at .\sysimg.jl:29
    [7] include(::String) at .\client.jl:403
    [8] top-level scope at C:\Users\Denis.julia\packages\DSGE\o009Y\test\runtests.jl:42 [inlined]
    [9] top-level scope at .\none:0
    [10] include at .\boot.jl:326 [inlined]
    [11] include_relative(::Module, ::String) at .\loading.jl:1038
    [12] include(::Module, ::String) at .\sysimg.jl:29
    [13] include(::String) at .\client.jl:403
    [14] top-level scope at none:0
    [15] eval(::Module, ::Any) at .\boot.jl:328
    [16] exec_options(::Base.JLOptions) at .\client.jl:243
    [17] _start() at .\client.jl:436
    Test Summary: | Error Total
    Ensure transformations to the real line/model space are valid | 1 1
    ERROR: LoadError: LoadError: Some tests did not pass: 0 passed, 0 failed, 1 errored, 0 broken.
    in expression starting at C:\Users\Denis.julia\packages\DSGE\o009Y\test\parameters.jl:4
    in expression starting at C:\Users\Denis.julia\packages\DSGE\o009Y\test\runtests.jl:39
    ERROR: Package DSGE errored during testing

(v1.1) pkg>

test DSGE fails

Hey, test DSGE creates multiple errors:

  1. For some reason the file data_dsid=1922016_vint=190822.csv can not be opened without root rights. Giving w+r rights to the user solves this problem.
Test Summary:                      | Pass  Total
Test various forms of data loading |    6      6
 * data/load_data_poolmodel.jl
[ Info: The following warnings are expected
Creating dataset...
Reading data from /home/johannes/.julia/packages/DSGE/gCSuP/test/data/../reference/raw/wrongorigmatlab_190822.csv...
┌ Warning: /home/johannes/.julia/packages/DSGE/gCSuP/test/data/../reference/raw/wrongorigmatlab_190822.csv does not contain the entire date range specified; missings used.
└ @ DSGE ~/.julia/packages/DSGE/gCSuP/src/data/load_data.jl:190
Test various forms of data loading: Error During Test at /home/johannes/.julia/packages/DSGE/gCSuP/test/data/load_data_poolmodel.jl:24
  1. transform_data.jl errors:
Test Summary:       | Pass  Total
Check 4q transforms |   26     26
 * data/transform_data.jl
ERROR: LoadError: LoadError: MethodError: Cannot `convert` an object of type Array{Union{Missing, Date},1} to an object of type AbstractArray{T,1} where T
Closest candidates are:
  convert(::Type{T<:AbstractArray}, ::T<:AbstractArray) where T<:AbstractArray at abstractarray.jl:14
  convert(::Type{T<:AbstractArray}, ::Factorization) where T<:AbstractArray at /buildworker/worker/package_linux32/build/usr/share/julia/stdlib/v1.0/LinearAlgebra/src/factorization.jl:46
  convert(::Type{S}, ::T<:(Union{CategoricalString{R}, CategoricalValue{T,R} where T} where R)) where {S, T<:(Union{CategoricalString{R}, CategoricalValue{T,R} where T} where R)} at /home/johannes/.julia/packages/CategoricalArrays/dmrjI/src/value.jl:103
  ...
Stacktrace:
 [1] jlconvert at /home/johannes/.julia/packages/JLD2/hB4ya/src/data.jl:675 [inlined]
 [2] macro expansion at /home/johannes/.julia/packages/JLD2/hB4ya/src/dataio.jl:70 [inlined]
 [3] macro expansion at ./simdloop.jl:73 [inlined]
 [4] read_array!(::Array{AbstractArray{T,1} where T,1}, ::JLD2.JLDFile{JLD2.MmapIO}, ::JLD2.ReadRepresentation{AbstractArray{T,1} where T,JLD2.RelOffset}) at /home/johannes/.julia/packages/JLD2/hB4ya/src/dataio.jl:68
 [5] read_array(::JLD2.JLDFile{JLD2.MmapIO}, ::JLD2.ReadDataspace, ::JLD2.ReadRepresentation{AbstractArray{T,1} where T,JLD2.RelOffset}, ::Int32, ::UInt16, ::JLD2.RelOffset, ::Array{JLD2.ReadAttribute,1}) at /home/johannes/.julia/packages/JLD2/hB4ya/src/datasets.jl:323
 [6] read_data(::JLD2.JLDFile{JLD2.MmapIO}, ::JLD2.ReadRepresentation{Any,JLD2.RelOffset}, ::Array{JLD2.ReadAttribute,1}) at /home/johannes/.julia/packages/JLD2/hB4ya/src/datasets.jl:198
 [7] macro expansion at /home/johannes/.julia/packages/JLD2/hB4ya/src/datasets.jl:156 [inlined]
 [8] macro expansion at /home/johannes/.julia/packages/JLD2/hB4ya/src/datatypes.jl:76 [inlined]
 [9] read_data(::JLD2.JLDFile{JLD2.MmapIO}, ::JLD2.ReadDataspace, ::UInt8, ::Int64, ::Int64, ::Int32, ::UInt16, ::JLD2.RelOffset, ::Array{JLD2.ReadAttribute,1}) at /home/johannes/.julia/packages/JLD2/hB4ya/src/datasets.jl:152
 [10] load_dataset(::JLD2.JLDFile{JLD2.MmapIO}, ::JLD2.RelOffset) at /home/johannes/.julia/packages/JLD2/hB4ya/src/datasets.jl:92
 [11] jlconvert at /home/johannes/.julia/packages/JLD2/hB4ya/src/data.jl:674 [inlined]
 [12] macro expansion at /home/johannes/.julia/packages/JLD2/hB4ya/src/data.jl:1322 [inlined]
 [13] jlconvert(::JLD2.ReadRepresentation{DataFrame,JLD2.OnDiskRepresentation{(0, 8),Tuple{Any,DataFrames.Index},Tuple{JLD2.RelOffset,JLD2.OnDiskRepresentation{(0, 8),Tuple{Dict{Symbol,Int64},Any},Tuple{JLD2.CustomSerialization{Array,JLD2.RelOffset},JLD2.RelOffset}}()}}()}, ::JLD2.JLDFile{JLD2.MmapIO}, ::Ptr{Nothing}, ::JLD2.RelOffset) at /home/johannes/.julia/packages/JLD2/hB4ya/src/data.jl:1269
 [14] read_data(::JLD2.JLDFile{JLD2.MmapIO}, ::JLD2.ReadRepresentation{DataFrame,JLD2.OnDiskRepresentation{(0, 8),Tuple{Any,DataFrames.Index},Tuple{JLD2.RelOffset,JLD2.OnDiskRepresentation{(0, 8),Tuple{Dict{Symbol,Int64},Any},Tuple{JLD2.CustomSerialization{Array,JLD2.RelOffset},JLD2.RelOffset}}()}}()}, ::Array{JLD2.ReadAttribute,1}) at /home/johannes/.julia/packages/JLD2/hB4ya/src/dataio.jl:37
 [15] read_data(::JLD2.JLDFile{JLD2.MmapIO}, ::JLD2.ReadDataspace, ::UInt8, ::Int64, ::Int64, ::Int32, ::UInt16, ::JLD2.RelOffset, ::Array{JLD2.ReadAttribute,1}) at /home/johannes/.julia/packages/JLD2/hB4ya/src/datasets.jl:149
 [16] load_dataset(::JLD2.JLDFile{JLD2.MmapIO}, ::JLD2.RelOffset) at /home/johannes/.julia/packages/JLD2/hB4ya/src/datasets.jl:92
 [17] getindex(::JLD2.Group{JLD2.JLDFile{JLD2.MmapIO}}, ::String) at /home/johannes/.julia/packages/JLD2/hB4ya/src/groups.jl:108
 [18] read(::JLD2.JLDFile{JLD2.MmapIO}, ::String) at /home/johannes/.julia/packages/JLD2/hB4ya/src/JLD2.jl:326
 [19] #17 at /home/johannes/.julia/packages/DSGE/gCSuP/test/data/transform_data.jl:24 [inlined]
 [20] #jldopen#31(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::getfield(Main, Symbol("##17#18")), ::String, ::Vararg{String,N} where N) at /home/johannes/.julia/packages/JLD2/hB4ya/src/loadsave.jl:4
 [21] jldopen(::Function, ::String, ::String) at /home/johannes/.julia/packages/JLD2/hB4ya/src/loadsave.jl:2
 [22] top-level scope at none:0
 [23] include at ./boot.jl:317 [inlined]
 [24] include_relative(::Module, ::String) at ./loading.jl:1044
 [25] include(::Module, ::String) at ./sysimg.jl:29
 [26] include(::String) at ./client.jl:392
 [27] top-level scope at /home/johannes/.julia/packages/DSGE/gCSuP/test/runtests.jl:94 [inlined]
 [28] top-level scope at ./none:0
 [29] include at ./boot.jl:317 [inlined]
 [30] include_relative(::Module, ::String) at ./loading.jl:1044
 [31] include(::Module, ::String) at ./sysimg.jl:29
 [32] include(::String) at ./client.jl:392
 [33] top-level scope at none:0
in expression starting at /home/johannes/.julia/packages/DSGE/gCSuP/test/data/transform_data.jl:22
in expression starting at /home/johannes/.julia/packages/DSGE/gCSuP/test/runtests.jl:91

I'm using Julia version 1.0.4 on Elementary OS.

ERROR of installing DSGE.jl package

@MattCocci @pearlzli @micahjsmith
Hi, Dear pearl li:
when I try to installing the DSGE.jl package in julia(Version 1.0.1), I got the error as follows:
I also installed other versions of julia, but it is still not work.
may you give some suggestions to install the DSGE.jl in julia?
Thank you for your help

Best Wishes
XiaoHao Mao

"""
julia> using Pkg

julia> Pkg.add("DSGE")
Updating registry at ~/.julia/registries/General
Updating git-repo https://github.com/JuliaRegistries/General.git
Resolving package versions...
ERROR: Unsatisfiable requirements detected for package DSGE [6cf23378]:
DSGE [6cf23378] log:
├─possible versions are: [0.1.0-0.1.5, 0.2.0, 0.3.0-0.3.1, 0.4.0-0.4.1] or uninstalled
├─restricted to versions * by an explicit requirement, leaving only versions [0.1.0-0.1.5, 0.2.0, 0.3.0-0.3.1, 0.4.0-0.4.1]
└─restricted by julia compatibility requirements to versions: uninstalled — no versions left
Stacktrace:
[1] #propagate_constraints!#61(::Bool, ::Function, ::Pkg.GraphType.Graph, ::Set{Int64}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/GraphType.jl:1005
[2] propagate_constraints! at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/GraphType.jl:946 [inlined]
[3] #simplify_graph!#121(::Bool, ::Function, ::Pkg.GraphType.Graph, ::Set{Int64}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/GraphType.jl:1460
[4] simplify_graph! at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/GraphType.jl:1460 [inlined]
[5] macro expansion at ./logging.jl:319 [inlined]
[6] resolve_versions!(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Operations.jl:338
[7] #add_or_develop#58(::Array{Base.UUID,1}, ::Function, ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Operations.jl:1164
[8] #add_or_develop at ./none:0 [inlined]
[9] #add_or_develop#13(::Symbol, ::Bool, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:64
[10] #add_or_develop at ./none:0 [inlined]
[11] #add_or_develop#12 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:29 [inlined]
[12] #add_or_develop at ./none:0 [inlined]
[13] #add_or_develop#11 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:28 [inlined]
[14] #add_or_develop at ./none:0 [inlined]
[15] #add_or_develop#10 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:27 [inlined]
[16] #add_or_develop at ./none:0 [inlined]
[17] #add#18 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:69 [inlined]
[18] add(::String) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:69
[19] top-level scope at none:0
"""

metropolis-hastings draws fixed at the mode for some free parameters

Hi,

I'm experiencing some problems when I try to implement the metropolis-hastings step in estimation.
Even though I'm able to get the mhsave output with the entire posterior distribution, the draws on some free parameters are all fixed at the mode, as if the mh step was not carried out at all on some of them.
I've been working on a variant of the m1010 model, but I tried with other specifications, also SmetsWouters, and got into the same issue.

Looking at the code, it seems to me that instead of referencing the n free parameters, the mh step is run for the first n parameters as they are sorted in the model file (where n is the number of free parameters); the remaining parameters, i.e. after the first n, are left at the mode, as if they were fixed.

I refer to line 101 of the metropolis_hastings.jl file:
blocks_all = SMC.generate_param_blocks(n_free_para, n_param_blocks)
Notwithstanding the number of parameters blocks, the SMC function takes just the number of free parameters, and not their indexes. Then, the mh step is run with a loop on this blocks_all at line 132:
for (k, block_a) in enumerate(blocks_all)
so that draws are taken only for parameters whose index goes from 1 to n (at least to my understanding).

I'd like to know if my guess is correct, or if I'm missing something.

Btw, thank you for the great package!

Tests fail on v0.5

ERROR: LoadError: InitError: type Method has no field func
 in macro expansion at /Users/ranjan/.julia/v0.5/Requires/src/require.jl:9 [inlined]
 in (::Requires.##8#9)() at /Users/ranjan/.julia/v0.5/Requires/src/init.jl:17
 in __init__() at /Users/ranjan/.julia/v0.5/Requires/src/init.jl:24
 in _require_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:174
 in _require_from_serialized(::Int64, ::Symbol, ::Bool) at ./loading.jl:202
 in require(::Symbol) at ./loading.jl:332
 in stale_cachefile(::String, ::String) at ./loading.jl:562
 in recompile_stale(::Symbol, ::String) at ./loading.jl:579
 in _require_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:173
 in _require_from_serialized(::Int64, ::Symbol, ::Bool) at ./loading.jl:202
 in require(::Symbol) at ./loading.jl:332
 in stale_cachefile(::String, ::String) at ./loading.jl:562
 in recompile_stale(::Symbol, ::String) at ./loading.jl:579
 in _require_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:173
 in _require_from_serialized(::Int64, ::Symbol, ::Bool) at ./loading.jl:202
 in require(::Symbol) at ./loading.jl:332
 in include_from_node1(::String) at ./loading.jl:426
 in process_options(::Base.JLOptions) at ./client.jl:262
 in _start() at ./client.jl:318
during initialization of module Requires
while loading /Users/ranjan/.julia/v0.5/DSGE/test/runtests.jl, in expression starting on line 2

ZLB handling method

Hi and thank you for this great package,

I would like to ask a clarification question on one method of handling the ZLB, in particular, the "second way" mentioned here.

Does the split in two regimes "only" serve to set the standard deviation of anticipated policy shocks to zero in the pre-ZLB period (as apparent in this section of the code), or is there a more complex approach or filtering procedure?
Dynare is about to introduce a "heteroskedastic filter and smoother" (see here) that allows fixing the standard deviation of a given shock to 0 in a specified period. I was wondering if the idea behind this tool is in line with the approach implemented in Julia for the FRBNY model.

I realize this is more of a question than an issue, and I apologize for that. Still, I hope that a comparison between methodologies used in Julia and Dynare can turn out to be useful to other users.

Thanks,
Giorgio

Plots error

When saving plots via DSGE.save_plots, it can trigger an ArgumentError when plotting a series that is all missing data if the version of Plots.jl is 1.13, but it doesn't trigger the error at version v1.6.12

load_data fails

Hi,
I'm trying to run run_default.jl, but I'm stuck at loading data. Any help would be much appreciated.

@time begin
    df = load_data(m, try_disk = false, check_empty_columns = false, summary_statistics = :none)
    data = df_to_matrix(m, df)
    estimate(m, data)
end

Creating dataset...
API key loaded.
Fetching FRED series GDP...
Fetching FRED series CNP16OV...
Fetching FRED series GDPDEF...
Fetching FRED series AWHNONAG...
Fetching FRED series CE16OV...
Fetching FRED series COMPNFB...
Fetching FRED series PCEPILFE...
Fetching FRED series DFF...
Fetching FRED series PCE...
Fetching FRED series FPI...
Fetching FRED series BAA...
Fetching FRED series BAMLC8A0C15PYEY...
Fetching FRED series GS10...
Fetching FRED series GDI...
┌ Warning: outer joining data frames using join is deprecated, use `outerjoin(df1, df2, on=date, makeunique=false, indicator=nothing, validate=(false, false))` instead
│   caller = ip:0x0
└ @ Core :-1
ArgumentError: Duplicate variable names: :GDP. Pass makeunique=true to make them unique using a suffix automatically.

Stacktrace:
 [1] make_unique!(::Array{Symbol,1}, ::Array{Symbol,1}; makeunique::Bool) at /Users/brunocampos/.julia/packages/DataFrames/3ZmR2/src/other/utils.jl:35
 [2] #make_unique#2 at /Users/brunocampos/.julia/packages/DataFrames/3ZmR2/src/other/utils.jl:57 [inlined]
 [3] #Index#3 at /Users/brunocampos/.julia/packages/DataFrames/3ZmR2/src/other/index.jl:27 [inlined]
 [4] DataFrame(::Array{AbstractArray{T,1} where T,1}, ::Array{Symbol,1}; makeunique::Bool, copycols::Bool) at /Users/brunocampos/.julia/packages/DataFrames/3ZmR2/src/dataframe/dataframe.jl:242
 [5] compose_joined_table(::DataFrames.DataFrameJoiner{DataFrame,DataFrame}, ::Symbol, ::DataFrames.RowIndexMap, ::DataFrames.RowIndexMap, ::DataFrames.RowIndexMap, ::DataFrames.RowIndexMap; makeunique::Bool) at /Users/brunocampos/.julia/packages/DataFrames/3ZmR2/src/abstractdataframe/join.jl:119
 [6] _join(::DataFrame, ::DataFrame; on::Symbol, kind::Symbol, makeunique::Bool, indicator::Nothing, validate::Tuple{Bool,Bool}) at /Users/brunocampos/.julia/packages/DataFrames/3ZmR2/src/abstractdataframe/join.jl:306
 [7] #outerjoin#336 at /Users/brunocampos/.julia/packages/DataFrames/3ZmR2/src/abstractdataframe/join.jl:790 [inlined]
 [8] join(::DataFrame, ::DataFrame; on::Symbol, kind::Symbol, makeunique::Bool, indicator::Nothing, validate::Tuple{Bool,Bool}) at /Users/brunocampos/.julia/packages/DataFrames/3ZmR2/src/deprecated.jl:308
 [9] load_fred_data(::Model1002{Float64}; start_date::Date, end_date::Date, verbose::Symbol) at /Users/brunocampos/.julia/packages/DSGE/nAsNu/src/data/fred_data.jl:122
 [10] load_data_levels(::Model1002{Float64}; verbose::Symbol) at /Users/brunocampos/.julia/packages/DSGE/nAsNu/src/data/load_data.jl:161
 [11] load_data(::Model1002{Float64}; cond_type::Symbol, try_disk::Bool, verbose::Symbol, check_empty_columns::Bool, summary_statistics::Symbol) at /Users/brunocampos/.julia/packages/DSGE/nAsNu/src/data/load_data.jl:58
 [12] macro expansion at ./In[2]:14 [inlined]
 [13] macro expansion at ./util.jl:175 [inlined]
 [14] top-level scope at ./In[2]:1

run_default.jl

Dear Shlok,

thank you for the hint to change the loading filepath to capture the Smets_Wouters “.h5” file. I did this by changing line 55:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

overrides[:full] = "$(fn)/../test/reference/mhsave_vint=181115.h5"

overrides[:full] = "c:/users/fritz/.julia/packages/DSGE/fjU1P/save/output_data/smets_wouters/ss0/estimate/raw/mhsave_vint=181115.h5"
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Maybe this was not the correct statement of the new filepath, because I got the following error messages:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[ Info: Forecasting block 1 of 50...
Loading draws from c:/users/fritz/.julia/packages/DSGE/fjU1P/save/output_data/smets_wouters/ss0/estimate/raw/mhsave_vint=181115.h5
HDF5-DIAG: Error detected in HDF5 (1.10.5) thread 0:
#000: E:/mingwbuild/mingw-w64-hdf5/src/hdf5-1.10.5/src/H5Pdcpl.c line 2048 in H5Pset_chunk(): all chunk dimensions must be positive
major: Invalid arguments to routine
minor: Out of range
ERROR: LoadError: Error setting chunk size
Stacktrace:
[1] error(::String) at .\error.jl:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Did I change line 55 not correctly?

Best regards,
Fritz

After 2020 Q3.

As for the DSGE program of FedNY on the web, it seems to require additional files or adjustment in the program after 2020 Q3. Indeed, the program on the web could not get an equilibrium and special shocks on consumption and labor supply are added in the paper. Can we share those updated programs?

Results mismatching: Different results of posterior for model parameters from Table 1 in the FRBNY DSGE published paper

I'm trying to run the run_default.jl and get the forecasting results of FRBNY DSGE model as in this paper. The model's custom settings are set up as following:
custom_settings = Dict{Symbol, Setting}(
:data_vintage => Setting(:data_vintage, "130412"),
:date_forecast_start => Setting(:date_forecast_start, quartertodate("2013-Q2")),
:use_population_forecast => Setting(:use_population_forecast, true),
:n_anticipated_shocks => Setting(:n_anticipated_shocks, 6),
:optimization_attempts => Setting(:optimization_attemps, 20),
:date_presample_start => Setting(:date_presample_start, quartertodate("1984-Q1")))
m = Model990(custom_settings = custom_settings)
The other properties are set up by default. I can load data and run estimate function successfully, but I'm getting totally different posterior results for parameters with running estimate(m) function.
For example, the posterior means that I get from mhsave_vint=130812.h5 file like following:

alpha:0.1883,

S'':1.9619,

h:0.3151,

but the posterior for model parameters read from paper are as below:

alpha:0.351,

S'':4.013,

h:0.73.

I want to know if you have any updated paper for the latest code or there is some setting problem need to be fixed so that I can get the same results as published paper.

gensys

I have rewritten the gensys function in Julia here. Compared to the version in this repository, the version is faster (some operations are done in place) and clearer (no unecessary diag/diagm conversion or Float64/Int).
There is also a design change. In my version, the function gensys does not throws errors in case of non unicity or non uniqueness since one may be still interested in the results in these cases. This is the main reason that I needed to rewrite gensys.jl to begin with.

If you're interested, I can write a pull request to replace the gensys file in this repository by the modified one. The only other change would be to throw an error in solve rather than gensys in case of non uniqueness/non existence.

init_parameters! not working

I'm trying to build a model by modifying the AnSchorfheide example, but the code stops running when it tries to initialize the first parameter. I get the following error message:

ERROR: LoadError: MethodError: no method matching parameter(::Symbol, ::Int64, ::Tuple{Float64,Int64}, ::Tuple{Float64,Int64}, ::Exponential, ::RootInverseGamma; fixed=false, description="γ: Risk aversion.", tex_label="\\gamma") Closest candidates are: parameter(::Symbol, ::Union{V, T}, ::Tuple{T,T}, ::Tuple{T,T}, ::U, ::Union{Distributions.Distribution{Distributions.Multivariate,Distributions.Continuous}, Distributions.Distribution{Distributions.Univariate,Distributions.Continuous}, Nullable{Distributions.Distribution{Distributions.Multivariate,Distributions.Continuous}}, Nullable{Distributions.Distribution{Distributions.Univariate,Distributions.Continuous}}}; fixed, scaling, regimes, description, tex_label) where {V<:(Array{T,1} where T), T<:Float64, U<:Transform} at C:\Users\Samsung\.julia\packages\ModelConstructors\6QJpO\src\parameters.jl:380 parameter(::Symbol, ::Union{V, T}, ::Tuple{T,T}, ::Tuple{T,T}, ::U) where {V<:(Array{T,1} where T), T<:Float64, U<:Transform} at C:\Users\Samsung\.julia\packages\ModelConstructors\6QJpO\src\parameters.jl:380 got unsupported keyword arguments "fixed", "description", "tex_label" parameter(::Symbol, ::Union{V, T}) where {V<:(Array{T,1} where T), T<:Float64} at C:\Users\Samsung\.julia\packages\ModelConstructors\6QJpO\src\parameters.jl:380 got unsupported keyword arguments "fixed", "description", "tex_label"...

Stacktrace: [1] init_parameters!(::XGabaix{Float64}) at C:\Users\Samsung\.julia\packages\DSGE\tJSkz\src\models\representative\gabaix\gabaix.jl:217 [2] XGabaix(::String; custom_settings::Dict{Symbol,Setting}, testing::Bool) at C:\Users\Samsung\.julia\packages\DSGE\tJSkz\src\models\representative\gabaix\gabaix.jl:197 [3] XGabaix(::String) at C:\Users\Samsung\.julia\packages\DSGE\tJSkz\src\models\representative\gabaix\gabaix.jl:162 (repeats 2 times) [4] top-level scope at C:\Users\Samsung\.julia\packages\DSGE\tJSkz\docs\examples\run_default.jl:16 [5] include(::String) at .\client.jl:457 [6] top-level scope at none:1 in expression starting at C:\Users\Samsung\.julia\packages\DSGE\tJSkz\docs\examples\run_default.jl:16

The referred parameter is defined as
m <= parameter(:γ, 1, (1e-3, 10), (1e-3, 10), ModelConstructors.Exponential(), RootInverseGamma(1, 0.75), fixed=false, description="γ: Risk aversion.", tex_label="\\gamma")

I have no trouble running the AnSchorfheide example itself.

Tagging a patch

Thanks for merging #6. Unfortunately, Optim and DSGE cannot be at their latest tagged versions any more, as the last tag (0.1.3) is not compatible with Optim v0.6. So, just wanted to say that I think a lot of users would be happy with a patch tag. Of course, I don't know if "you're in the middle of something" and aren't ready to tag. Just a heads up !

Installation on Julia 1.9.4

I have the following error message when trying to install the DSGE package on Julia 1.9.4:
ERROR: Unsatisfiable requirements detected for package JLD2 [033835bb]:
JLD2 [033835bb] log:
├─possible versions are: 0.1.0-0.4.38 or uninstalled
├─restricted to versions * by an explicit requirement, leaving only versions: 0.1.0-0.4.38
├─restricted by julia compatibility requirements to versions: 0.4.28-0.4.38 or uninstalled, leaving only versions: 0.4.28-0.4.38
└─restricted by compatibility requirements with DSGE [6cf23378] to versions: 0.1.0-0.3.3 — no versions left
└─DSGE [6cf23378] log:
├─possible versions are: 0.5.0-1.3.0 or uninstalled
└─restricted to versions * by an explicit requirement, leaving only versions: 0.5.0-1.3.0

I have tried to install JLD2 package with the version of 0.3.3, but got the following error message:
ERROR: Unsatisfiable requirements detected for package JLD2 [033835bb]:
JLD2 [033835bb] log:
├─possible versions are: 0.1.0-0.4.38 or uninstalled
├─restricted to versions 0.3.3 by an explicit requirement, leaving only versions: 0.3.3
└─restricted by julia compatibility requirements to versions: 0.4.28-0.4.38 or uninstalled — no versions left

How can I solve the installation issues? Thank you for your help.

make_packet.jl

Dear Shlok,

(1) The run with „run_default.jl” (m = SmetsWouters() model) was successful with Julia version 1.1.1. The results were saved as “tex” files in:
C:/.julia/packages/DSGE/fjU1P/save/output_data/smets_wouters/ss0/estimate/tables/…*.tex (4 files for Tabl1: moments, parameter estimates etc….)

           After the input: “ENV[“FRED_API_KEY”] = “[my key]”

(2) The run with “make_packet.jl” (m = SmetsWouters() model) was not successful and delivered the following error messages:

“Warning: Type annotations on keyword arguments not currently supported in recipes. Type information has been discarded” --- this line is repeated several times

After telling that the “dataset creation successful” – obs_gdp, Frequency of missing/NaNs: 0.0” … this statement for other variables, e.g.: “obs_hours, Frequency of missing/NaNs: 0.07594…”

“Info: Forecasting block 1 of 50… “

Loading draws from c:\users\fritz\OneDrive\Dokumente\GitHub\DSGE.jl\examples/../test/reference/mhsave_vint=181115.h5
ERROR: LoadError: New value of ρ_μ (-45.498892312835) is out of bounds ((1.0e-5, 0.999))

Then the run stops and refers to the file “make_packet.jl” – line 60.

Why is it not possible to replicate the file “make_packet.jl” when all inputs/changes (e.g. m = SmetsWouters()) are made correctly?

Best regards,
Fritz

mhsave_vint

To run "make_packet.jl", we need "mhsave_vint***.h5".

Originally, there is "mhsave_vint181115.h5".

I am trying to process the latest file, such as 2022Q4.

How can I process "mhsave_vint***.h5"?

Can't Get Simple Example To Xqt

I created a file with the sample program from https://frbny-dsge.github.io/DSGE.jl/stable/running_existing_model/
and added the necessary using statement. I also changed the model to model1002
I'm getting similar errors in run_default.
I setup the API Key and add all the packages so I am not seeing any problems from missing packages.

When I try to execute, the debugger stops in load_data.jl
at the following statement:

 if !isempty(empty_cols)
        error("Column(s) $(as_str[1:end-2]) have only NaNs and/or missings.")
    end

debugger hangs on this.
OK, turned off the debugger so processing code would go further.
Lots more errors.

WARNING: Method definition (::DSGE.var"#util#1596"{γ})(S) where {S<:Number} in module DSGE at C:\Users\bkrel.julia\packages\DSGE\tJSkz\src\models\heterogeneous\two_asset_hank\helpers.jl:481 overwritten at C:\Users\bkrel.julia\packages\DSGE\tJSkz\src\models\heterogeneous\two_asset_hank\helpers.jl:483.
Maybe thats a warning and is ignored, maybe not.

But, there's more:
ERROR: LoadError: Column(s) obs_longinflation, obs_longrate, obs_tfp, obs_nominalrate1, obs_nominalrate2, obs_nominalrate3, obs_nominalrate4, obs_nominalrate5, obs_nominalrate6 have only NaNs and/or missings.
Stacktrace:
[1] error(s::String)
@ Base .\error.jl:33
[2] isvalid_data(m::Model1002{Float64}, df::DataFrame; cond_type::Symbol, check_empty_columns::Bool)
@ DSGE C:\Users\bkrel.julia\packages\DSGE\tJSkz\src\data\load_data.jl:423
[3] load_data(m::Model1002{Float64}; cond_type::Symbol, try_disk::Bool, verbose::Symbol, check_empty_columns::Bool, summary_statistics::Symbol)
@ DSGE C:\Users\bkrel.julia\packages\DSGE\tJSkz\src\data\load_data.jl:90
[4] estimate(m::Model1002{Float64}; verbose::Symbol, proposal_covariance::Matrix{Any}, mle::Bool, sampling::Bool, filestring_addl::Vector{String}, continue_intermediate::Bool, intermediate_stage_start::Int64, intermediate_stage_increment::Int64, save_intermediate::Bool, tempered_update_prior_weight::Float64, run_csminwel::Bool)
@ DSGE C:\Users\bkrel.julia\packages\DSGE\tJSkz\src\estimate\estimate.jl:82
[5] estimate(m::Model1002{Float64})
@ DSGE C:\Users\bkrel.julia\packages\DSGE\tJSkz\src\estimate\estimate.jl:82
[6] top-level scope
@ e:\MonetaryTheory\NYFedPolicy\TestJulia\Test2.jl:14
in expression starting at e:\MonetaryTheory\NYFedPolicy\TestJulia\Test2.jl:14
The terminal process "C:\Users\bkrel\AppData\Local\Programs\Julia-1.7.3\bin\julia.exe '--color=yes', '--project=C:\Users\bkrel.julia\environments\v1.7', 'e:\MonetaryTheory\NYFedPolicy\TestJulia\Test2.jl'" terminated with exit code: 1.

This all might be a consequence of no data, but I don't know.

Can anyone help straighten out this sample program?

Thanks.

Bruce

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.