A Computable General Equilibrium (CGE) model is a quantitative economic model that represents an economy as interconnected markets for goods and services, factors of production, institutions, and the rest of the world. It is calibrated with data (typically a Social Accounting Matrix) and solved numerically as a system of nonlinear equations until equilibrium conditions (zero-profit, market-clearing, and income-balance) hold within tolerance.
JCGE is a block-based CGE modeling and execution framework in Julia. It defines a shared RunSpec structure and reusable blocks so models can be assembled, validated, solved, and compared consistently across packages.
Canonical internal data model and interfaces for JCGE.
- Core types for sets, mappings, benchmark containers, and RunSpec (run specification)
- Block interfaces and validation hooks
- Standard RunSpec builder and section/template helpers
- No JuMP dependency
JCGECore provides a lightweight builder to standardize RunSpec assembly:
SectionSpecgroups blocks by semantic section (e.g.,:production,:trade).RunSpecTemplatedeclares required sections for a model family.build_specassembles aRunSpecwith required-section validation, optional allowed-section checks, and required-nonempty sections.
- Solving, model construction, or calibration implementations
Use validate_spec for optional structural checks on a RunSpec:
report = JCGECore.validate_spec(spec)
report.ok || println(report.categories)If you use the JCGE framework, please cite:
Boero, R. JCGE - Julia Computable General Equilibrium Framework [software], 2026. DOI: 10.5281/zenodo.18282436 URL: https://JCGE.org
@software{boero_jcge_2026,
title = {JCGE - Julia Computable General Equilibrium Framework},
author = {Boero, Riccardo},
year = {2026},
doi = {10.5281/zenodo.18282436},
url = {https://JCGE.org}
}If you use this package, please cite:
Boero, R. JCGECore.jl [software], 2026. DOI: 10.5281/zenodo.18214951 URL: https://Core.JCGE.org SourceCode: https://github.com/equicirco/JCGECore.jl
@software{boero_jcgecore_2026,
title = {JCGECore.jl},
author = {Boero, Riccardo},
year = {2026},
doi = {10.5281/zenodo.18214951},
url = {https://Core.JCGE.org}
}If you use a specific tagged release, please cite the version DOI assigned on Zenodo for that release (preferred for exact reproducibility).