CViM / src / model / params.jl
params.jl
Raw
"""
Define model parameters.
"""
Base.@kwdef mutable struct Parameters
    step::Int = 0
    # number of agents
    n_f::Int = 100
    n_hh::Int = 1000
    n_bj::Int = 20
    n_bk::Int = 20
    # initial assumption GD/GDP
    r::Float64 = 1.1
    # shock
    shock::String = "Missing"
    sas::Int = 150 # shock at step
    # values
    value_dist::NTuple{4, Float64} = (0.25, 0.25, 0.25, 0.25)
    scenario::String = "Baseline"
    # model general parameters
    g::Float64 = 200.0
    τ::Float64 = 0.1
    χ::Int = 5
    λ::Float64 = 2.00687
    ib::Float64 = 0.024
    icb::Float64 = 0.02875
    icbd::Float64 = 0.01925
    icbl::Float64 = 0.03825
    gy::Float64 = 0.0
    gd::Float64 = 0.1
    gk::Float64 = 0.15
    δ::Float64 = 0.05
    ρ::Float64 = 0.4
    α1::Float64 = 0.8
    α2::Float64 = 0.0 # SS-given: computed in the `SS_initial(model)` function
    α3::Float64 = 0.2
    χ1::Float64 = 0.0085
    χ2::Float64 = 0.0095
    χ3::Float64 = 0.0085
    μ::Float64 = 0.2
    v::Float64 = 0.1
    γ::Float64 = 0.1
    change_rates_hh::Float64 = 0.0
    change_rates_firms::Float64 = 0.0
    pref::Float64 = 0.01 # 1%
    # ib parameters
    σib::Float64 = 0.01
    # ib initial values
    ion::Float64 = 0.02875
    iterm::Float64 = 0.02875
    ion_prev::Float64 = 0.0
    iterm_prev::Float64 = 0.0
end