Logo Lanfrica

Mbibachris/ghana-cedi-vecm

Domaine:

socioeconomic
Créateur:
Mbi
Hôte:
ARDL and VECM analysis of the Ghana cedi/US dollar exchange rate (2007-2025): gold, oil, reserves, inflation, and the policy rate # Determinants of the Ghana Cedi/US Dollar Exchange Rate — ARDL and VECM Analysis Reproducible R pipeline modelling the Ghana cedi/US dollar exchange rate (`lexr`) against the world gold price, the world oil price, gross international reserves, domestic CPI inflation, and the Bank of Ghana's monetary policy rate, using monthly data from 2007M01 to 2025M07 (n = 223). Two complete, independently reproducible model pipelines are included: a primary **Pesaran–Shin–Smith (2001) ARDL bounds-testing** analysis and an alternative **Johansen Vector Error-Correction Model (VECM)**, built because the ARDL model's own diagnostics (bounds test fails to confirm cointegration; error-correction term wrong-signed) point toward the system-level cointegrating relationship that the Johansen test *does* confirm on the same six variables. See "Model selection" below for the full reasoning. This repository contains **code and documentation only** — raw source data and R scripts, not generated tables, figures, or rendered Word/HTML documents. Every result is fully reproducible from what's here; see "How to reproduce" below. ## How to reproduce Requires R 4.5.x with: `tidyverse` (dplyr, tidyr, stringr, readr, readxl, lubridate, ggplot2), `zoo`, `ARDL`, `urca`, `vars`, `lmtest`, `tseries`, `strucchange`, `flextable`, `officer`, `rmarkdown`, `knitr`. **Option 1 — script pipelines** (fast; writes `data/`, `tables/`, `figures/`, all `.gitignore`d so they stay local): ```bash Rscript R/00_run_all.R # ARDL pipeline: Stages 1-3 (shared data mgmt) + 4-6 Rscript R/00_run_all_vecm.R # VECM pipeline: Stages 1-3 (shared data mgmt) + 07-09 ``` Each stage script is independently re-runnable and reads/writes to `data/`, `tables/`, `figures/`; the two `00_run_all*.R` drivers just run every stage in order, each in a fresh environment (`source(..., local = new.env())`), so no stage can silently depend on another's leftover state. **Option 2 — the full pipeline as one R Markdown notebook** ( …