Package: qpmR 1.1.0

Mustapha Mohammed

qpmR: Quarterly Projection Models for Monetary Policy Analysis

An end-to-end implementation of the semi-structural quarterly projection models used in central-bank forecasting and policy analysis systems: model declaration with model-consistent expectations, a generalized Schur solver with Blanchard-Kahn diagnostics following Klein (2000) <doi:10.1016/S0165-1889(99)00045-7>, Kalman filtering and smoothing for latent states such as the output gap and the neutral rate, historical shock decompositions, conditional forecasts that distinguish announced from unanticipated policy paths, an auditable judgment ledger, forecast rounds with revision decompositions, Bayesian estimation with identification diagnostics following Iskrev (2010) <doi:10.1016/j.jmoneco.2009.12.007>, and reporting. The canonical small open economy model of Berg, Karam and Laxton (2006) <doi:10.5089/9781451863413.001> ships as a calibrated template, with extension blocks for disaggregated food inflation and managed exchange rates.

Authors:Mustapha Mohammed [aut, cre]

qpmR_1.1.0.tar.gz
qpmR_1.1.0.zip(r-4.7-x86_64)qpmR_1.1.0.zip(r-4.7-arm64)qpmR_1.1.0.zip(r-4.6-x86_64)qpmR_1.1.0.zip(r-4.6-arm64)
qpmR_1.1.0.tar.gz(r-4.7-arm64)qpmR_1.1.0.tar.gz(r-4.7-x86_64)qpmR_1.1.0.tar.gz(r-4.6-arm64)qpmR_1.1.0.tar.gz(r-4.6-x86_64)
qpmR_1.1.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
qpmR/json (API)

# Install 'qpmR' in R:
install.packages('qpmR', repos = c('https://cran.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/mustapha-wasseja/qpmr/issues

Pkgdown/docs site:https://mustapha-wasseja.github.io

Uses libs:
  • openblas– Optimized BLAS
  • c++– GNU Standard C++ Library v3
Datasets:
  • czechia - Czech quarterly macroeconomic dataset

On CRAN:

Conda:

openblascpp

3.00 score 51 exports 5 dependencies

Last updated from:fb78366294. Checks:10 OK. Indexed: no.

TargetResultTimeFilesSyslog
linux-devel-arm64OK158
linux-devel-x86_64OK236
source / vignettesOK302
linux-release-arm64OK155
linux-release-x86_64OK241
windows-devel-arm64OK276
windows-devel-x86_64OK201
windows-release-arm64OK265
windows-release-x86_64OK192
wasm-releaseOK128

Exports:add_blockadd_judgmentapply_estimateblock_food_cpiblock_fx_interventionchart_packcompare_roundsEeigen_tableeqsfevdirfjudgment_loglist_roundsload_roundmarginal_likelihoodmodel_propertiesnext_quartersposterior_forecastpriorsqpm_blockqpm_calibrateqpm_compare_modelsqpm_conditionqpm_counterfactualqpm_decomposeqpm_diffqpm_disaggregateqpm_estimateqpm_filterqpm_forecastqpm_identifyqpm_lintqpm_modelqpm_reportqpm_riskqpm_roundqpm_rule_evalqpm_scenarioqpm_solveqpm_templateqpm_use_cpprisk_logsave_roundshocksstate_spacesteady_statevarvarsverify_roundwrite_dynare

Dependencies:latticeMatrixQZRcppRcppArmadillo

A forecast in ten minutes: the canonical QPM in qpmR
The canonical model | Solving and checking | Monetary transmission | History and forecast | Specification checks | Adapting the model to your country | Real data: Czechia | Policy analysis: conditions, judgment, rounds | Closing the round: audit and report | Where to go next

Last update: 2026-09-29
Started: 2026-09-29

Estimating qpmR models: priors, posteriors, identification
Priors | A laboratory: estimating an AR(1) | Identification: ask before you sample | Marginal likelihood and Bayes factors | On real data

Last update: 2026-09-29
Started: 2026-09-29

Readme and manuals

Help Manual

Help pageTopics
Apply an extension block to a modeladd_block
Add logged judgment to a forecastadd_judgment
Recalibrate a model at an estimate's point valuesapply_estimate
Disaggregated CPI: food and core inflationblock_food_cpi
Foreign-exchange intervention (managed float)block_fx_intervention
The standard forecast-round chart packchart_pack
Compare two forecast rounds: the revision decompositioncompare_rounds plot.qpm_revision
Czech quarterly macroeconomic datasetczechia
Expectations operator (equation syntax only)E
Generalized eigenvalues of a solved modeleigen_table
Declare model equationseqs
Forecast error variance decompositionfevd fevd.qpm_solution plot.qpm_fevd
Impulse response functionsirf irf.qpm_solution
Print a forecast's judgment ledgerjudgment_log
Log-likelihood of a filtration or an estimatelogLik.qpm_estimate logLik.qpm_filtration
Marginal likelihood of an estimated modelmarginal_likelihood
Model-implied moments, and how they compare with the datamodel_properties
Generate consecutive quarter labelsnext_quarters
Number of observationsnobs.qpm_estimate nobs.qpm_filtration
Forecast with parameter uncertainty (posterior fan)posterior_forecast
Declare priors for Bayesian estimationpriors
Model extension blocksqpm_block
Update a model's calibrationqpm_calibrate
Compare the behaviour of two or more modelsplot.qpm_model_comparison qpm_compare_models
Conditional forecasts: impose paths, back out the shocksqpm_condition
Historical counterfactualsplot.qpm_counterfactual qpm_counterfactual
Historical shock decompositionplot.qpm_decomposition qpm_decompose
Compare two models structurallyqpm_diff
Temporal disaggregation of low-frequency dataplot.qpm_disaggregation qpm_disaggregate
Estimate model parameters (Bayesian or maximum likelihood)coef.qpm_estimate qpm_estimate
Estimate latent states from data (Kalman filter/smoother)qpm_filter
Model forecast with uncertainty bandsqpm_forecast
Identification diagnostics (Iskrev-style Jacobian analysis)qpm_identify
Check a model for common specification problemsqpm_lint
Define a quarterly projection modelqpm_model
Write (and optionally render) a monetary policy reportqpm_report
Express a balance of risks (skewed fan charts)qpm_risk
Forecast rounds: one replayable artifact per forecastqpm_round
Evaluate alternative policy rulesplot.qpm_rule_eval qpm_rule_eval
Shock-based alternative scenariosqpm_scenario
Solve a model under model-consistent expectationsqpm_solve
Shipped model templatesqpm_template
Use the compiled Kalman filterqpm_use_cpp
One-step-ahead prediction errors and fitted valuesfitted.qpm_filtration residuals.qpm_filtration
Print a forecast's balance-of-risks assessmentrisk_log
Save, load, and list forecast roundslist_rounds load_round save_round
Declare the structural shocks of a modelshocks
Simulate a solved modelsimulate.qpm_solution
State-space representation of a solved modelstate_space
Steady state of a model or solutionsteady_state
Summarise an estimatesummary.qpm_estimate
Summarise a filtrationsummary.qpm_filtration
Declare a model variable with a label and unitvar
Declare the endogenous variables of a modelvars
Posterior covariance and credible intervalsconfint.qpm_estimate vcov.qpm_estimate
Verify that an archived round still reproducesverify_round
Export a model to a Dynare .mod filewrite_dynare