This paper presents a structural dynamic factor model of a small commodity-exporting economy, using Canada as a representative case study. Combining large panel data sets of the global and Canadian economies, we first use sign restrictions to identify those relevant demand and supply shocks that explain most of the volatility in real commodity prices. Next, we proceed to quantify the dynamic effects of these shocks on a wide variety of macro variables for Canada. We are able to reproduce all the main stylized features at business-cycle frequencies documented in the literature on these economies. These include a Dutch disease effect which has proven difficult to find in models where the underlying sources of sudden changes in commodity price are not properly identified. Our results are fairly robust to alternative identification schemes of the shocks and to several sensitivity checks.