In my 2018 Applied Economics paper, “Internal Devaluations and Equilibrium Exchange Rates: New Evidences and Perspectives for the EMU” (Applied Economics, 50(59), 6364–6381; DOI), I use a two-stage FEER-SMIM framework to study a central question raised by the euro crisis: did the improvement in peripheral countries’ current accounts reflect genuine gains in external competitiveness, or mainly a compression of internal demand?
The first stage is a multinational trade model for six countries or aggregates: the United States, the euro area, Japan, China, the United Kingdom, and the rest of the world. It produces mutually consistent equilibrium exchange rates. The second stage treats individual euro-area economies as relatively small countries and uses the global solution to recover misalignments within the monetary union.
The paper writes the model equation by equation, first in levels and then in logarithmic differentials in Appendices A and B. This post rewrites that same log-linearized model in matrix form.
The word same is important. Moving from the nonlinear level model to logarithmic differentials is a local first-order approximation. Once that step has been made, however, moving from the scalar log-linearized equations to vectors and block matrices is exact algebra. The matrix notation introduces no new behavioural equation, no additional approximation, and no different economic assumption.
For each country-indexed equation family, I show the paper equation, its stacked vector form, any required substitutions, the rearranged block row, and an \(i\)-th-component check. The two world-consistency conditions are already scalar aggregate rows and are derived directly.
1. The Applied Economics paper and its two-stage model
The empirical motivation comes before the algebra. From the onset of the euro crisis, current-account deficits fell sharply in several peripheral member states. That adjustment can arise through two very different mechanisms.
- Internal demand may fall, reducing imports without a lasting change in productive capacity or non-price competitiveness.
- Relative prices and costs may improve, increasing the ability of domestic producers to compete at home and abroad.
The paper uses equilibrium exchange-rate misalignments to help distinguish these mechanisms. It also corrects the current-account inputs for relative cyclical positions, because a country growing below the potential of its partners can temporarily record a stronger current account even without a structural competitiveness gain.
| Stage | Economic role | Main output |
|---|---|---|
| Multinational FEER-SMIM model | Solves simultaneously for the six large countries or aggregates and imposes global trade consistency. | Globally consistent bilateral and real effective exchange-rate misalignments, trade volumes, and prices. |
| National euro-area model | Treats each of eight member states as small relative to the world and takes foreign demand and foreign prices from the first stage. | Country-specific misalignments within the euro area. |
1.1 Why the multinational problem needs SMIM
There are six current-account targets but only five independent bilateral exchange rates, because one currency must be the numeraire. Imposing all six targets directly would overdetermine the system.
The Symmetric Matrix Inversion Method resolves this problem by constructing six closely related systems. In each resolution, one country is residual and its current-account target is omitted. The other five targets are imposed. Each country plays the residual role once, and the Own Country Included estimator then averages the five resolutions in which that country’s own target is present.
This is the economic reason for the superscript \((s)\) in
The economic parameters are the same in the six systems. What changes is the closure: the selector that identifies the five non-residual countries, the two trade-volume equations replaced by world-consistency conditions, and the current-account target that is omitted.
2. From the level model to logarithmic differentials
Before introducing matrices, it is useful to separate two transformations that are sometimes conflated.
- Log-linearization: the nonlinear equations in levels are approximated locally by equations in proportional changes.
- Stacking: the resulting scalar linear equations are collected into vectors and matrices. This second operation is exact.
2.1 Lower-case variables
For a positive level variable \(Y_i\), the paper uses the lower-case symbol for its proportional deviation from equilibrium:
For an infinitesimal change, \(d\ln Y_i=dY_i/Y_i\) exactly. The finite proportional gap and the finite log gap are equivalent only to first order around \(Y_i^{e}\).
For example,
For small deviations, these objects can be read approximately as percentage gaps. The nominal exchange rate \(E_i\) is quoted as units of domestic currency per U.S. dollar. Consequently, \(e_i>0\) represents a depreciation relative to equilibrium and \(e_i<0\) an appreciation.
A superscript \(e\) denotes an equilibrium level. A star, introduced in the national model, denotes a foreign composite such as world demand \(D_i^*\) or a foreign price \(P_i^*\); it does not denote equilibrium.
2.2 The three differentiation rules used throughout
These rules explain why products become sums, ratios become differences, and weighted geometric averages become weighted linear combinations.
2.3 Example: the export-volume equation
The export equation in levels is
with
Take logarithms, differentiate, and treat the elasticities and trade shares as fixed calibration coefficients:
Replacing proportional changes by their lower-case symbols gives equation (A1):
The matrix representation developed below begins from this log-linearized equation. It does not linearize it again.
2.4 The current-account gap is the exception
A current account can be zero or negative, so taking its logarithm is not generally meaningful. The paper instead defines a difference between the actual and equilibrium current-account ratios:
Thus \(b_i\) is a difference between current-account shares of GDP. If the ratios are stored as decimals, \(100b_i\) is the percentage-point gap; if they are stored directly in percent, \(b_i\) itself is the percentage-point gap. It is not a logarithmic change.
3. The scalar-to-matrix dictionary
Let \(n=6\). A bold lower-case letter denotes a country vector, a bold capital or bold Greek letter denotes a matrix, and an ordinary letter denotes a scalar or a single component.
For any scalar family \(y_i\), define
| Scalar operation | Matrix operation | \(i\)-th-component check |
|---|---|---|
| Collect \(y_i\) for all countries | \(\mathbf y=(y_1,\ldots,y_6)^{\mathsf T}\) | \([\mathbf y]_i=y_i\) |
| Multiply country \(i\)’s variable by \(c_i\) | \(\mathbf D_c\mathbf y\), where \(\mathbf D_c=\operatorname{diag}(c_i)\) | \([\mathbf D_c\mathbf y]_i=c_i y_i\) |
| Take a partner-weighted sum \(\sum_j w_{ij}y_j\) | \(\mathbf W\mathbf y\) | \([\mathbf W\mathbf y]_i=\sum_jw_{ij}y_j\) |
| Take a world aggregate \(\sum_i v_i y_i\) | \(\mathbf v^{\mathsf T}\mathbf y\) | \(\mathbf v^{\mathsf T}\mathbf y=\sum_i v_i y_i\) |
| Keep every country except residual country \(s\) | \(\mathbf S_s\mathbf y\) | \(\mathbf S_s\mathbf y=(y_i)_{i\ne s}\) |
| Insert the U.S. normalization \(e_u=0\) | \(\mathbf e=\mathbf N_u\mathbf q\) | \([\mathbf N_u\mathbf q]_u=0\) |
One identity already contains most of the logic of the export-volume block:
where
The matrix \(\mathbf G\) forms each country’s partner-weighted demand term. The diagonal matrix \(\mathbf H_x\) then multiplies row \(i\) by country \(i\)’s export-income elasticity. Matrix order therefore matters.
3.1 Variables used in the multinational stage
| Vector | Contents | Dimension |
|---|---|---|
| \(\mathbf x\) | Non-oil export-volume gaps | \(6\times1\) |
| \(\mathbf m\) | Non-oil import-volume gaps | \(6\times1\) |
| \(\mathbf p_x\) | Export-price gaps | \(6\times1\) |
| \(\mathbf p_m\) | Import-price gaps | \(6\times1\) |
| \(\mathbf p_d\) | Consumer-price gaps | \(6\times1\) |
| \(\mathbf e\) | Complete bilateral exchange-rate vector, including the zero numeraire component | \(6\times1\) |
| \(\mathbf q\) | Five independent bilateral exchange-rate gaps | \(5\times1\) |
| \(\mathbf p\) | Exogenous GDP-deflator gaps | \(6\times1\) |
| \(\mathbf d_I\) | Exogenous internal-demand gaps | \(6\times1\) |
| \(\mathbf b\) | Current-account gaps | \(6\times1\) |
3.2 Trade-share matrices
For \(j\ne i\), the trade weights in the paper are
Set \(\lambda_{ii}=\mu_{ii}=\alpha_{ii}=\nu_{ii}=0\). This convention lets every scalar sum over \(j\ne i\) be written as an unrestricted matrix product without adding a domestic term.
Define
The paper denotes the bilateral import weights by \(\mu_{ij}\). I use \(\boldsymbol\Omega\) for their matrix so that it cannot be confused with the scalar openness ratio introduced later. With complete partner coverage and zero own-country entries, the rows of \(\boldsymbol\Lambda\), \(\boldsymbol\Omega\), and \(\mathbf V\) sum to one. For \(\mathbf G\), the relevant adding-up is by destination: \(\sum_i\alpha_{ij}=1\), so its columns sum to one when all suppliers are covered.
3.3 Diagonal parameter matrices
Diagonal matrices encode country-specific multiplication. They generally do not commute with trade-share matrices. For example,
The order on the left says that country \(i\)’s elasticity multiplies country \(i\)’s entire relative-price equation.
4. Residual country versus numeraire currency
These are two different operations, even though they coincide in the one resolution where the United States is residual.
4.1 The changing residual country
Let \(s\in\{1,\ldots,6\}\) be the residual country in one SMIM resolution. Define the deletion matrix
The selector \(\mathbf S_s\) is applied to three equation families: export volumes (A1), import volumes (A2), and current-account targets (A7). It is not applied to the price equations, which remain present for all six countries.
Suppose the ordering is
and Japan is residual. Then
Japan’s A1 and A2 equations are replaced by the two world-consistency equations, and its current-account target is omitted. Japan does not disappear: its volumes, prices, and exchange-rate gap remain endogenous and are determined by the complete system.
4.2 The permanent U.S. numeraire
Let \(u\) denote the United States. In every resolution,
Define
The matrix \(\mathbf S_u\) deletes the U.S. component; \(\mathbf N_u\) inserts it again as zero. Thus \(\mathbf q\) contains the five independent bilateral gaps, while \(\mathbf e\) is the convenient six-country vector used inside the trade equations.
If Japan is residual, \(e_{\mathrm{JP}}\) is still an unknown. Residualization decides which equations close the system; normalization decides the currency unit in which bilateral rates are measured.
4.3 What happens to the residual current account?
The residual country’s current-account target is omitted, not set equal to zero. Its ex-post current-account balance is implied by the remaining countries and global accounting. At the level of current-account values, the residual-current-account relation printed immediately after equation (9) gives \(B_s=-\sum_{i\ne s}B_i\). One should not convert this into \(b_s=-\sum_{i\ne s}b_i\), because the current-account gaps are ratios with country-specific GDP denominators.
5. Eliminating the two competitor-price indices
The model contains two composite prices: competitors’ export prices \(p_{mx,i}\) and competitors’ import prices \(p_{mm,i}\). Their elimination is the simplest complete demonstration of scalar-to-matrix equivalence.
5.1 Competitors’ export prices
Level equation.
Log-linearized scalar equation. Using \(\sum_{j\ne i}\lambda_{ij}=1\),
Stacked equation.
Insert the numeraire normalization.
Component check.
Because \(\lambda_{ii}=0\), the matrix product reproduces the paper’s restriction \(j\ne i\).
5.2 Competitors’ import prices
Level equation.
Log-linearized scalar equation.
Stacked and normalized equation.
Component check.
Substitution of these two identities removes twelve auxiliary unknowns, \(\mathbf p_{mx}\) and \(\mathbf p_{mm}\), together with their twelve defining equations. Nothing economic is discarded: the twelve relationships remain embedded in the coefficients of the smaller system.
6. Appendix A, equation by equation
We now translate every equation family in Appendix A. Throughout this section, the column order of the eventual unknown vector is
For readability, the closure superscript \((s)\) is suppressed on the individual subvectors inside a given resolution; all solved components nevertheless depend on \(s\).
Consequently, each block row will contain six coefficient blocks, one for each entry of \(\mathbf z^{(s)}\).
To make the correspondence completely explicit, labels of the form \((\mathrm{M\!\!-A}j)\) identify the matrix counterpart of the paper’s equation \((Aj)\). These are navigation labels used only in this blog; they are not additional equations in the original paper.
6.1 Export volumes: equation (A1)
Paper equation. For every non-residual country \(i\ne s\),
Step 1: stack the six-country notation. The two scalar operations become
Thus the unselected vector equation is
Step 2: eliminate the competitor-price vector. From Section 5,
Substitution gives
Step 3: keep only the five non-residual equations.
Matrix counterpart \((\mathrm{M\!\!-A1})\): move every endogenous term to the left.
Block row.
This row has dimension \(5\times35\).
Component check. For a retained country \(i\ne s\), the row reads
The expression in square brackets equals \(p_{x,i}-p_{mx,i}\). Moving it to the right recovers equation (A1) exactly.
6.2 Import volumes: equation (A2)
Level equation.
Paper equation after log-linearization.
Step 1: stack all countries.
Step 2: select the five non-residual equations.
Matrix counterpart \((\mathrm{M\!\!-A2})\): rearrange.
Block row.
This row is \(5\times35\).
Component check. A retained row is
which rearranges immediately to equation (A2).
6.3 World-trade consistency: equation (A3) and the following volume condition
The two equations in this subsection replace the missing export- and import-volume equations of the residual country.
6.3.1 Consistency in value
Level equation. Export and import values must be converted to a common currency before they are added:
This equation contains sums of levels. We therefore do not take the logarithm of the sum. Instead, linearize each total around a benchmark at which both sides equal a common world value \(W\). Define the benchmark value shares
The differential of the export side, divided by \(W\), is
and the corresponding import expression is
Paper equation after linearization.
Stacked equation.
Matrix counterpart \((\mathrm{M\!\!-A3})\): insert \(\mathbf e=\mathbf N_u\mathbf q\) and rearrange.
Block row.
This is one \(1\times35\) row. The exchange-rate block is essential: it converts every national trade value into the common numeraire before aggregation.
6.3.2 Consistency in volume
Level equation.
Let \(w_{x,i}=X_i/\sum_jX_j\) and \(w_{m,i}=M_i/\sum_jM_j\) at the benchmark. The paper places the following unnumbered log-linear condition immediately after equation (A3):
Matrix row.
Its \(1\times35\) block row is
6.4 Export prices: equation (A4)
Level equation.
Paper equation after log-linearization.
Step 1: stack the six equations.
Step 2: substitute the competitor-price identity.
Matrix counterpart \((\mathrm{M\!\!-A4})\): collect the endogenous variables.
Block row.
This block row is \(6\times35\).
Component check. The \(i\)-th row before rearrangement is
and the bracket is precisely \(p_{mx,i}\). This recovers equation (A4).
6.5 Import prices: equation (A5)
Level equation.
Paper equation after log-linearization.
Step 1: stack.
Step 2: substitute \(\mathbf p_{mm}\).
Matrix counterpart \((\mathrm{M\!\!-A5})\): rearrange.
Block row.
It has dimension \(6\times35\). Taking component \(i\) and replacing the bracketed foreign-price basket by \(p_{mm,i}\) returns equation (A5).
6.6 Consumer prices: equation (A6)
Level equation.
Paper equation after log-linearization.
Stacked equation.
Rearranged matrix row \((\mathrm{M\!\!-A6})\).
Its \(6\times35\) coefficient row is
The \(i\)-th component is \(-a_ip_{m,i}+p_{d,i}=(1-a_i)p_i\), which is equation (A6).
6.7 Current-account targets: equations (A7)–(A10)
This row deserves a full derivation because the current-account gap is not a logarithmic change.
Step 1: begin with the level identity.
Define
The superscript \(\mathrm O\) identifies the openness ratio. It is an expository clarification of the paper’s notation and distinguishes this scalar from the bilateral import weights \(\mu_{ij}\).
For the matrix counterparts of equations (A8)–(A10), define the six-country vectors and diagonal matrices
All four diagonal matrices in this derivation are evaluated at the benchmark. Consequently, they are fixed coefficients when the local differentials are taken.
Step 2: define the target gap exactly as in equation (A8). At the benchmark, and holding the openness ratio fixed in the local calculation,
Matrix counterpart \((\mathrm{M\!\!-A8})\) of equation (A8).
Component \(i\) of \(\mathbf D_{\mu}d\boldsymbol\chi\) is \(\mu_i^{\mathrm O}d[B_i/(P_{m,i}M_i)]\), exactly the last expression in (A8).
Step 3: recover the ratio identity behind equation (A9). Dividing the level identity by import value gives
Multiplying by the openness ratio gives the corresponding current-account share:
In the compact notation just introduced, equation (A9) as typeset can be written as
Direct matrix transcription \((\mathrm{M\!\!-A9}_{\text{typeset}})\) of equation (A9) as printed.
This matrix equation faithfully stacks the printed scalar equation, including its sign inconsistency.
There is a sign inconsistency in that printed line. The outer minus sign is required by level equation (9); it is the two inner minus signs that must be plus signs. The corrected intermediate differential is
Corrected matrix counterpart \((\mathrm{M\!\!-A9})\) of the intermediate equation (A9).
The second line follows because \(d\mathbf 1_6=\mathbf0\) and the calibrated share matrices are fixed at the benchmark.
Equivalently, the algebraically consistent ratio identity obtained directly from level equation (9) and equation (A8) is
Matrix form of the level-ratio identity behind equation (A9).
The \(i\)-th component is \(T_i(1-\sigma_{\mathrm{petx},i}-\sigma_{x,i})-1\), exactly the corrected scalar identity.
This correction is typographical, not economic: it preserves the level current-account identity and produces the paper’s equations (A7) and (A10).
Step 4: take the first-order change used by the paper. Holding the calibrated ratios \(\mu_i^{\mathrm O}\), \(\sigma_{\mathrm{petx},i}\), and \(\sigma_{x,i}\) fixed at the benchmark gives
Matrix counterpart \((\mathrm{M\!\!-A10})\) of equation (A10).
Define the proportional-change vector \(\boldsymbol\tau=\mathbf D_T^{-1}d\mathbf t\), so that \(d\mathbf t=\mathbf D_T\boldsymbol\tau\). Because the coefficient matrices are diagonal,
Equation (A10) can therefore also be written as \(\boxed{\mathbf b=\mathbf K\boldsymbol\tau}\), which is the matrix identity used in the block system.
Multiply and divide by the benchmark coverage ratio \(T_i\):
Define
Then \(b_i=\kappa_i\tau_i\).
Step 5: log-differentiate the coverage ratio. Since
we obtain
Combining the last two equations gives the paper’s current-account equation:
Matrix counterpart \((\mathrm{M\!\!-A7})\): stack all six countries. With \(\mathbf K=\operatorname{diag}(\kappa_i)\),
Step 7: impose only the five non-residual targets.
Block row.
This row has dimension \(5\times35\). Its \(i\)-th retained component is exactly equation (A7).
The cyclical correction used in the empirical analysis is made when constructing the exogenous input \(\mathbf b\). It changes the current-account gaps supplied to the system; it does not add another row to \(\mathbf A^{(s)}\).
7. The complete \(35\times35\) multinational system
All eight equation families have now been derived. The complete matrix is no longer a black box: it is simply the vertical stacking of those eight block rows.
7.1 Count the unknowns
There are 30 volume-and-price unknowns—five six-country vectors—plus five independent bilateral exchange-rate gaps.
7.2 Count the equations
| Equation family | Rows | Why this number? |
|---|---|---|
| Export volumes (A1) | 5 | The residual country’s equation is replaced. |
| Import volumes (A2) | 5 | The residual country’s equation is replaced. |
| World consistency in value (A3) | 1 | One global adding-up condition. |
| World consistency in volume | 1 | One global adding-up condition. |
| Export prices (A4) | 6 | One equation for every country. |
| Import prices (A5) | 6 | One equation for every country. |
| Consumer prices (A6) | 6 | One equation for every country. |
| Current-account targets (A7) | 5 | The residual country’s target is omitted. |
| Total | 35 | Matches the number of unknowns. |
7.3 Read the system before viewing the large matrix
The following table records the coefficient of each unknown block. Reading across any row reproduces the matrix equation derived in Section 6.
| Rows | \(\mathbf x\) | \(\mathbf m\) | \(\mathbf p_x\) | \(\mathbf p_m\) | \(\mathbf p_d\) | \(\mathbf q\) | Right-hand side |
|---|---|---|---|---|---|---|---|
| A1 | \(\mathbf S_s\) | \(-\mathbf S_s\mathbf H_x\mathbf G\) | \(\mathbf S_s\mathbf E_x(\mathbf I-\boldsymbol\Lambda)\) | \(\mathbf 0\) | \(\mathbf 0\) | \(-\mathbf S_s\mathbf E_x(\mathbf I-\boldsymbol\Lambda)\mathbf N_u\) | \(\mathbf 0_5\) |
| A2 | \(\mathbf 0\) | \(\mathbf S_s\) | \(\mathbf 0\) | \(\mathbf S_s\mathbf E_m\) | \(-\mathbf S_s\mathbf E_m\) | \(\mathbf 0\) | \(\mathbf S_s\mathbf H_m\mathbf d_I\) |
| A3 value | \(\mathbf v_x^{\mathsf T}\) | \(-\mathbf v_m^{\mathsf T}\) | \(\mathbf v_x^{\mathsf T}\) | \(-\mathbf v_m^{\mathsf T}\) | \(\mathbf 0^{\mathsf T}\) | \((\mathbf v_m-\mathbf v_x)^{\mathsf T}\mathbf N_u\) | \(0\) |
| Volume consistency | \(\mathbf w_x^{\mathsf T}\) | \(-\mathbf w_m^{\mathsf T}\) | \(\mathbf 0_{1\times6}\) | \(\mathbf 0_{1\times6}\) | \(\mathbf 0_{1\times6}\) | \(\mathbf 0_{1\times5}\) | \(0\) |
| A4 | \(\mathbf 0\) | \(\mathbf 0\) | \(\mathbf I-\mathbf C_x\boldsymbol\Lambda\) | \(\mathbf 0\) | \(\mathbf 0\) | \(-\mathbf C_x(\mathbf I-\boldsymbol\Lambda)\mathbf N_u\) | \((\mathbf I-\mathbf C_x)\mathbf p\) |
| A5 | \(\mathbf 0\) | \(\mathbf 0\) | \(-\mathbf C_m\boldsymbol\Omega\) | \(\mathbf I\) | \(-(\mathbf I-\mathbf C_m)\) | \(-\mathbf C_m(\mathbf I-\boldsymbol\Omega)\mathbf N_u\) | \(\mathbf 0_6\) |
| A6 | \(\mathbf 0\) | \(\mathbf 0\) | \(\mathbf 0\) | \(-\mathbf D_a\) | \(\mathbf I\) | \(\mathbf 0\) | \((\mathbf I-\mathbf D_a)\mathbf p\) |
| A7 | \(\mathbf S_s\mathbf K\) | \(-\mathbf S_s\mathbf K\) | \(\mathbf S_s\mathbf K\) | \(-\mathbf S_s\mathbf K\) | \(\mathbf 0\) | \(\mathbf 0\) | \(\mathbf S_s\mathbf b\) |
7.4 Stack the eight block rows
This is the matrix form of the multinational log-linearized model.
7.5 A dimension audit
| Object | Dimension | Role |
|---|---|---|
| \(\mathbf S_s\) | \(5\times6\) | Deletes residual country \(s\). |
| \(\mathbf N_u\) | \(6\times5\) | Inserts the zero U.S. exchange-rate component. |
| \(\mathbf H_x,\mathbf G,\boldsymbol\Lambda\) | \(6\times6\) | Country parameters and bilateral weights. |
| First behavioural block row | \(5\times35\) | Five export-volume equations. |
| Each price block row | \(6\times35\) | Six price equations. |
| \(\mathbf A^{(s)}\) | \(35\times35\) | Complete coefficient matrix for closure \(s\). |
| \(\mathbf z^{(s)},\mathbf h^{(s)}\) | \(35\times1\) | Unknown vector and right-hand side. |
For example, the export-price coefficient multiplying \(\mathbf q\) has dimension
exactly as required for a six-equation block multiplying a five-element exchange-rate vector.
7.6 Solve one closure
If \(\mathbf A^{(s)}\) is nonsingular, the theoretical solution is
The inverse is useful notation, but numerical work should solve \(\mathbf A^{(s)}\mathbf z^{(s)}=\mathbf h^{(s)}\) directly. Explicitly forming the inverse is usually less accurate and less efficient.
8. Six resolutions and the OCI estimator
SMIM does not stop after one residual-country choice. It solves
When country \(s\) is residual, target \(b_s\) is absent. Therefore country \(i\)’s own current-account target is included exactly in the five systems for which \(s\ne i\).
8.1 Define a country-specific outcome
Let \(y_i^{(s)}\) be any result for country \(i\) extracted after solving closure \(s\). It may be a core element such as \(p_{x,i}^{(s)}\), or an ex-post object such as a real effective exchange-rate gap.
Let \(\boldsymbol\ell_{i,y}^{\mathsf T}\) denote the relevant linear row operator: it selects a core component directly or forms a linear ex-post outcome from \(\mathbf z^{(s)}\). Then
8.2 Average only the five Own Country Included results
“Own Country Included” refers to the inclusion of the country’s own current-account target. Country \(i\) remains present in all six models; only the equations used to close the system change.
8.3 Why one must solve first and average afterward
In general,
There are two reasons.
- Matrix inversion is nonlinear.
- The selected rows do not have the same economic meaning across closures unless they are deliberately realigned: \(\mathbf S_s\) deletes a different country each time.
A one-dimensional example isolates the first reason. Suppose \(1y_1=1\) and \(2y_2=1\). Solving first gives \(y_1=1\) and \(y_2=1/2\), whose average is
Averaging the coefficients first gives
which is different.
OCI is therefore not a seventh exact closure. It is a symmetric, country-specific average of five already-solved closures.
9. Real effective exchange rates are computed ex post
For readability, the closure superscript \((s)\) is suppressed in this section; the transformation is applied separately to every solved closure before OCI averaging.
The multinational stage reports a consumer-price-based real effective exchange rate. To keep it distinct from the GDP-deflator-based national rate introduced later, denote the global vector by \(\mathbf r_c^{G}\).
Level equation.
Log-linearized scalar equation.
Stacked equation.
Component check.
which is the scalar equation above.
The six components of \(\mathbf r_c^{G}\) are calculated after each \(35\times35\) core system has been solved. This explains the paper’s “\(35+5+1\)” presentation: there are 35 simultaneous core unknowns, followed by five non-residual and one residual real effective exchange-rate outputs. It is not a \(41\times41\) simultaneous system.
With the paper’s domestic-currency-per-dollar quotation, \(r_{c,i}^{G}>0\) is a real depreciation relative to equilibrium. The currency is therefore undervalued in the FEER sense, and closing the gap would require an appreciation. A negative value indicates overvaluation and a required depreciation.
10. Appendix B and the national matrix model
The second stage studies \(k=8\) euro-area economies: France, Germany, Italy, Spain, Finland, Ireland, Portugal, and Greece. Each is treated as small relative to the world economy. Foreign demand and foreign prices are exogenous at the national stage; the foreign trade-price inputs use the first-stage OCI solution.
To prevent accidental confusion with the \(6\times6\) global matrices, core national vectors and parameter matrices carry a superscript \(N\); the \(k\times6\) mappings from global partners use the subscripts \(\mathbf L_N\), \(\mathbf M_N\), and \(\mathbf V_N\). Thus \(\mathbf r^{N}\) is the \(k\times1\) vector of GDP-deflator-based national real exchange-rate misalignments, whereas \(\mathbf r_c^{G}\) in Section 9 is the six-country global CPI-based vector.
Three level identities complete the national model. The first is the national current-account identity, which is the country-level counterpart of equation (9):
The second defines the GDP-deflator-based real exchange rate:
The third links the small national economy to the six-country multinational model:
Equation (14) produces equation (B5) after the same first-order current-account derivation used for (A8)–(A10). Equation (15) produces equation (B11) after log-linearization. Equation (16) defines the OCI-weighted foreign price baskets and supplies the approximation needed to obtain equation (B19). The following subsections make each of those links explicit.
As in Appendix A, the blog labels each corresponding national matrix equation \((\mathrm{M\!\!-B}j)\). These labels provide a one-to-one crosswalk with equation \((Bj)\) in the paper and do not renumber the original model.
10.1 National diagonal matrices
All these parameter matrices are diagonal. This matters: unlike the global system, the national equations contain no simultaneous feedback from one national economy to another. Each row is a country-specific scalar model, and matrix notation simply stacks the eight models.
For the national current-account identities (B5), (B8), and (B9), also define
The national current-account conversion matrix is therefore
10.2 Export volumes: equation (B1)
Level equation.
Paper equation after log-linearization.
Matrix counterpart \((\mathrm{M\!\!-B1})\).
Component check.
so row \(i\) is exactly equation (B1).
10.3 Import volumes: equation (B2)
Level equation.
Paper equation after log-linearization.
Matrix counterpart \((\mathrm{M\!\!-B2})\).
Because the matrices are diagonal, component \(i\) of the last term is \(-\alpha_{mi}\varepsilon_{mi}r_i\), reproducing equation (B2).
10.4 Export and import prices: equations (B3) and (B4)
Level equations.
Paper equations after log-linearization.
Matrix counterpart \((\mathrm{M\!\!-B3})\) of equation (B3).
Its \(i\)-th component is equation (B3).
Matrix counterpart \((\mathrm{M\!\!-B4})\) of equation (B4).
Its \(i\)-th component is equation (B4).
10.5 Coverage-ratio changes: equations (B6) and (B7)
Paper equation. The proportional change in the coverage ratio is
Matrix counterpart \((\mathrm{M\!\!-B6})\). Stack the \(k\) country equations:
Step 1: substitute the four vector equations corresponding to (B1)–(B4).
Step 2: cancel the GDP-deflator terms.
This cancellation is purely algebraic. It does not require the later assumption \(\mathbf p^{N}=\mathbf0\).
Step 3: collect all coefficients multiplying \(\mathbf r^{N}\). Define
Because every term is diagonal,
where
Matrix counterpart \((\mathrm{M\!\!-B7})\). The stacked version of equation (B7) is therefore
Component check. Row \(i\) is
which is exactly the scalar equation printed as (B7).
10.6 Current-account identity and equation (17)/(B10)
Step 1: use the national version of the current-account equation.
Equation (B5) applies the same conversion factor derived in Section 6.7:
Matrix counterpart \((\mathrm{M\!\!-B5})\) of equation (B5).
Equation (B8) restates the same current-account gap in terms of the change in the coverage ratio:
Matrix counterpart \((\mathrm{M\!\!-B8})\) of equation (B8).
Equation (B9) divides by the benchmark coverage ratio and the calibrated conversion coefficient:
Matrix counterpart \((\mathrm{M\!\!-B9})\) of equation (B9).
Step 2: equate the two expressions for \(\boldsymbol\tau^{N}\).
Step 3: isolate the exchange-rate vector.
Matrix counterpart \((\mathrm{M\!\!-B10})\). If \(\boldsymbol\Gamma^{N}\) is nonsingular,
Step 4: take component \(i\). Since all four parameter matrices are diagonal,
Substitute the definitions of \(\kappa_i\) and \(\gamma_i\):
This is equation (17) in the main text and equation (B10) in Appendix B. The national matrix formula is therefore exactly the eight country-specific B10 equations written together.
The inverse requires \(\kappa_i\ne0\) and \(\gamma_i\ne0\) for every country. If \(\gamma_i\) is very small, a small change in the current-account or demand inputs can produce a large change in the inferred exchange-rate gap.
10.7 The full national block system
The same national model can be kept in simultaneous block form. Stack
Rearranging equations (B1)–(B5) gives
For \(k=8\), this is a \(40\times40\) system. Substituting the first four block rows into the fifth eliminates \(\mathbf x^{N}\), \(\mathbf m^{N}\), \(\mathbf p_x^{N}\), and \(\mathbf p_m^{N}\). Premultiplying the result by \((\mathbf K^{N})^{-1}\) leaves
which proves that the closed-form B10 representation and the full national block system are two algebraically equivalent ways to solve the same model.
10.8 From the national real rate to equations (19) and (18)
The paper also converts the GDP-deflator-based national result into a bilateral nominal gap and a CPI-based real effective gap.
10.8.1 Bilateral nominal exchange-rate gap
Equation (B11) is
Matrix counterpart \((\mathrm{M\!\!-B11})\) of equation (B11).
Component \(i\) is \(r_i=e_i+p_{x,i}^*-p_i\), so the vector equation and (B11) are identical term by term.
Only at this conversion stage does the paper assume that the internal GDP deflator is at equilibrium, \(p_i=0\). Hence
Matrix counterpart \((\mathrm{M\!\!-B12})\) of equation (B12).
Using the OCI foreign export-price basket,
Substituting this basket into the matrix form of (B12) gives
This is simultaneously the expanded matrix counterpart of equation (B12) and the matrix form of equation (19). The bars indicate first-stage OCI outcomes, and \(\mathbf L_N\) maps the six global partners into the \(k\) national foreign-price baskets.
For completeness, define the three \(k\times6\) national mapping matrices \(\mathbf L_N\), \(\mathbf M_N\), and \(\mathbf V_N\) from the paper’s \(\lambda_{ij}\), \(\mu_{ij}\), and \(\nu_{ij}\) weights. The relevant foreign composites are
10.8.2 CPI-based real effective gap
Appendix B prints the same scalar \(\mu_i\) in the openness/current-account equations and in equation (B16). To keep its CPI role visible without introducing a new calibrated coefficient, write
Thus \(\omega_i\) is only an expository relabeling of the paper’s scalar \(\mu_i\). It is not a third parameter. The bilateral import weights \(\mu_{ij}\), collected in \(\boldsymbol\Omega\), remain a different object.
Step 1: start with the CPI real effective exchange rate in levels.
Exact vector and matrix counterpart \((\mathrm{M\!\!-B13})\) of equation (B13). Because (B13) is written in levels and is nonlinear, introduce level vectors distinguished by the subscript \(\mathrm{lev}\):
Let \(\odot\) and \(\oslash\) denote element-by-element multiplication and division. Then the exact vector form and its equivalent diagonal-matrix form are
Its \(i\)-th component is exactly \(E_iPD_i^*/PD_i\). Unlike the later log-linearized relations, this is an exact nonlinear level identity rather than a row of a linear system.
Taking a logarithmic differential gives
Matrix counterpart \((\mathrm{M\!\!-B14})\) of equation (B14).
The foreign CPI basket is the trade-weighted sum
Matrix counterpart \((\mathrm{M\!\!-B15})\) of equation (B15).
Component \(i\) of the right-hand side is \(\sum_{j\ne i}\nu_{ij}(\bar p_{d,j}^{G}-\bar e_j^{G})\), because the own-country entry is zero.
Step 2: express the domestic CPI through the import price. In the paper’s notation, equation (B16) is
Matrix counterpart \((\mathrm{M\!\!-B16})\) of equation (B16).
The \(i\)-th diagonal element of \(\mathbf W^{N}\) is \(\omega_i\), so row \(i\) reproduces equation (B16).
The import-price equation is
Matrix counterpart \((\mathrm{M\!\!-B17})\) of equation (B17).
Taking component \(i\) yields \(\alpha_{mi}(e_i+p_{m,i}^*)+(1-\alpha_{mi})p_i\), exactly equation (B17).
At this later conversion stage, the paper sets the internal GDP-deflator gap to zero, \(p_i=0\). Substituting equation (B17) into equation (B16) then gives
Matrix counterpart \((\mathrm{M\!\!-B18})\) of equation (B18).
Since \(\mathbf C^{N}=\operatorname{diag}(\alpha_{mi}\omega_i)\), component \(i\) is precisely the scalar equation (B18).
Step 3: substitute equations (B12) and (B18) into equation (B14). Because \(e_i=r_i-p_{x,i}^*\),
This is the exact pre-approximation scalar identity. Stacking its \(k\) country equations gives
Step 4: apply the foreign-price approximation in equation (16). The paper assumes \(p_{m,i}^*\simeq p_{x,i}^*\). The two foreign-price terms then combine:
Therefore,
Matrix counterpart \((\mathrm{M\!\!-B19})\) of equation (B19).
Step 5: substitute the OCI foreign-price baskets. Equations (B15) and (16) imply
Here the bars mark first-stage OCI outcomes.
Matrix counterpart \((\mathrm{M\!\!-B20})\) of equation (B20). Stacking the \(k\) country equations gives
This final matrix is equation (18) in the main text and equation (B20) in Appendix B, written simultaneously for all \(k\) national economies.
11. Implementation and verification
The derivation translates directly into a reproducible computational sequence.
11.1 Multinational stage
- Choose one fixed country ordering for the United States, euro area, Japan, China, United Kingdom, and rest of the world.
- Construct the trade-share matrices \(\mathbf G\), \(\boldsymbol\Lambda\), \(\boldsymbol\Omega\), and \(\mathbf V\).
- Construct the diagonal matrices \(\mathbf H_x\), \(\mathbf H_m\), \(\mathbf E_x\), \(\mathbf E_m\), \(\mathbf C_x\), \(\mathbf C_m\), \(\mathbf D_a\), and \(\mathbf K\).
- Construct the U.S. insertion matrix \(\mathbf N_u\) once. It is unchanged across all closures.
- For each residual country \(s=1,\ldots,6\), construct the corresponding deletion matrix \(\mathbf S_s\).
- Assemble the eight block rows of \(\mathbf A^{(s)}\) and the matching blocks of \(\mathbf h^{(s)}\).
- Solve \(\mathbf A^{(s)}\mathbf z^{(s)}=\mathbf h^{(s)}\).
- Recover the complete bilateral vector from \(\mathbf e^{(s)}=\mathbf N_u\mathbf q^{(s)}\).
- Compute the global CPI-based rate from \(\mathbf r_c^{G,(s)}=(\mathbf I-\mathbf V)(\mathbf e^{(s)}-\mathbf p_d^{(s)})\).
- For each country \(i\), average the desired outcomes across the five closures \(s\ne i\).
11.2 National stage
- Construct the exogenous foreign-demand inputs and use the OCI global trade prices to construct the foreign-price inputs for each national economy.
- Construct \(\mathbf H_x^{N}\), \(\mathbf H_m^{N}\), \(\mathbf E_x^{N}\), \(\mathbf E_m^{N}\), \(\mathbf C_x^{N}\), \(\mathbf C_m^{N}\), and \(\mathbf K^{N}\).
- Construct \(\boldsymbol\Gamma^{N}\).
- Solve the closed form for \(\mathbf r^{N}\), or solve the equivalent \(5k\times5k\) block system.
- Convert \(\mathbf r^{N}\) into bilateral nominal and CPI-based gaps if those measures are required.
11.3 Language-neutral pseudocode
for s in countries:
S = deletion_matrix(residual=s)
A, h = assemble_global_system(S, N_us, parameters, inputs)
z[s] = solve(A, h)
check_norm(A @ z[s] - h)
e[s] = N_us @ q_from(z[s])
rc_global[s] = (I - V) @ (e[s] - pd_from(z[s]))
for i in countries:
own_country_included = [s for s in countries if s != i]
OCI[i] = mean(outcome[i, s] for s in own_country_included)
Gamma_N = (I - Cx_N) @ Ex_N + Cm_N @ Em_N + Cx_N - Cm_N
r_N = solve(Gamma_N, solve(K_N, b_N) + Hm_N @ dI_N - Hx_N @ dstar_N)
The pseudocode uses linear solves rather than explicit inverses. In particular, \(\operatorname{solve}(\mathbf K^{N},\mathbf b^{N})\) computes \((\mathbf K^{N})^{-1}\mathbf b^{N}\) without forming the inverse.
11.4 Checks that catch most errors
- Confirm that the rows of \(\boldsymbol\Lambda\), \(\boldsymbol\Omega\), and \(\mathbf V\) sum to one, while the columns of \(\mathbf G\) sum to one under complete coverage.
- Confirm that each \(\mathbf S_s\) is \(5\times6\) and deletes the intended country.
- Confirm that \(\mathbf N_u\) is always \(6\times5\) and always inserts zero in the U.S. position.
- Confirm that \(\mathbf A^{(s)}\) is \(35\times35\) and \(\mathbf h^{(s)}\) has 35 entries for every closure.
- Evaluate the residual norm \(\lVert\mathbf A^{(s)}\mathbf z^{(s)}-\mathbf h^{(s)}\rVert\) after every solve.
- Check both world-consistency equations numerically.
- Verify that the residual current-account target has been omitted, not replaced by zero.
- Construct OCI from solved country outcomes, with a different five-closure subset for each country.
- Inspect the condition number of every \(\mathbf A^{(s)}\).
- Inspect \(\kappa_i\) and \(\gamma_i\), especially when either is close to zero.
11.5 Common conceptual mistakes
| Mistake | Why it is incorrect | Correct treatment |
|---|---|---|
| Treating the residual country as the numeraire | The residual changes across closures; the U.S. numeraire does not. | Use \(\mathbf S_s\) for closure and \(\mathbf N_u\) for normalization. |
| Setting the residual target to zero | Omission is not the same as a zero target. | Delete that target with \(\mathbf S_s\). |
| Normalizing the rows of \(\mathbf G\) | \(\alpha_{ij}=X_{i\to j}/M_j\) allocates destination \(j\)’s imports across suppliers. | Check its columns, not its rows. |
| Adding \(\mathbf p_{mx}\) and \(\mathbf p_{mm}\) as unknowns after substituting them | This double-counts the same definitions. | Either retain 47 unknowns and 47 equations, or use the reduced 35-variable system shown here. |
| Interpreting “\(35+5+1\)” as one 41-variable core | The six real effective rates are ex-post transformations. | Solve the 35-variable core, then compute the six rates. |
| Averaging matrices before solving | Inversion is nonlinear and selected rows differ across closures. | Solve six systems, then average the relevant five outcomes. |
| Imposing \(p_i=0\) while deriving B7 or B10 | The GDP-deflator terms already cancel algebraically. | Use \(p_i=0\) only in the later conversions (B12 and B18), not in B7/B10. |
| Using one symbol \(\mu\) without explaining its two appearances | The paper’s scalar \(\mu_i\) appears in both the openness/current-account equations and equation (B16); the bilateral weights \(\mu_{ij}\) are a distinct object. | Write the scalar as \(\mu_i^{\mathrm O}\), optionally relabel the same value \(\omega_i\equiv\mu_i^{\mathrm O}\) in the CPI derivation, and reserve \(\boldsymbol\Omega=[\mu_{ij}]\) for bilateral weights. |
12. What the matrix representation reveals
The scalar and matrix forms are not competing versions of the FEER-SMIM model. They are two representations of the same log-linearized system.
- Every numbered equation in Appendices A and B has an explicit counterpart: \((\mathrm{M\!\!-A1})\)–\((\mathrm{M\!\!-A10})\) and \((\mathrm{M\!\!-B1})\)–\((\mathrm{M\!\!-B20})\).
- Diagonal matrices encode country-specific elasticities, price-setting parameters, pass-through coefficients, and current-account conversion factors.
- Trade-share matrices encode bilateral sums and transmit one country’s prices or demand to its partners.
- Selector matrices encode the changing residual-country closure.
- The insertion matrix encodes the permanent U.S. numeraire.
- Block stacking exposes the simultaneous international feedback that is difficult to see when the equations are read separately.
- The diagonal national system shows immediately why equation (17)/(B10) is a country-by-country closed form.
The complete logic is now transparent. Choose a residual country, keep the United States as numeraire, substitute the two competitor-price composites, and stack five export-volume equations, five import-volume equations, two world-consistency equations, eighteen price equations, and five current-account targets. Solve the \(35\times35\) system and repeat this operation six times. Construct each country’s OCI result from the five closures containing its own target. Finally, use those global outcomes as exogenous inputs in the national model, where the diagonal matrix formula reproduces equation (17)/(B10) component by component.
This architecture also clarifies the economic message of the original paper. A current-account improvement cannot automatically be interpreted as a permanent competitiveness gain. The model separates the roles of internal demand, foreign demand, relative prices, price setting, and external-balance targets. In the empirical application, several peripheral countries reduced their misalignments through internal devaluations, but the durability of those gains depends on non-price competitiveness, trade structures, and international specialization.
References
- Saadaoui, J. (2018), “Internal Devaluations and Equilibrium Exchange Rates: New Evidences and Perspectives for the EMU,” Applied Economics, 50(59), 6364–6381. https://doi.org/10.1080/00036846.2018.1486019. Full paper PDF.
- Cline, W. R. (2008), Estimating Consistent Fundamental Equilibrium Exchange Rates, Peterson Institute for International Economics, Working Paper 08-6.
- Isard, P. and H. Faruqee (1998), Exchange Rate Assessment: Extension of the Macroeconomic Balance Approach, International Monetary Fund, Occasional Paper 167.
- Jeong, S.-E., J. Mazier, and J. Saadaoui (2010), “Exchange Rate Misalignments at World and European Levels: A FEER Approach,” International Economics, 121, 25–58.