Computes the interest rate-growth differential (\(r - g\)), a key indicator of debt sustainability. When \(r > g\), debt grows faster than the economy (the "snowball effect" is adverse) and a primary surplus is needed to stabilise the debt ratio. When \(r < g\), the government can run a primary deficit and still see the debt ratio fall.
Arguments
- interest_rate
Numeric. Effective nominal interest rate on government debt. Scalar or vector.
- gdp_growth
Numeric. Nominal GDP growth rate. Scalar or vector (same length as
interest_rate).- inflation
Numeric or
NULL. If supplied, the inflation rate used to compute the real \(r - g\). Scalar or same length asinterest_rate. DefaultNULL.- debt
Numeric or
NULL. If supplied, the debt-to-GDP ratio used to compute the debt-stabilising primary balance. Scalar or same length asinterest_rate. DefaultNULL.
Value
A named list with:
- rg_differential
Numeric vector. The nominal \(r - g\) differential.
- real_rg
Numeric vector. The real \(r - g\) differential. Only present if
inflationwas supplied.- debt_stabilising_pb
Numeric vector. The debt-stabilising primary balance as a share of GDP. Only present if
debtwas supplied.
Details
If debt is supplied, the function also computes the debt-stabilising
primary balance: the primary surplus (as a share of GDP) required to hold
the debt-to-GDP ratio constant at its current level. This is given by:
$$pb^* = \frac{r - g}{1 + g} \cdot d$$
If inflation is supplied, the function computes the real \(r - g\)
differential by deflating both the interest rate and GDP growth:
\(r_{real} = (1 + r)/(1 + \pi) - 1\) and
\(g_{real} = (1 + g)/(1 + \pi) - 1\).
References
Blanchard, O.J. (1990). Suggestions for a New Set of Fiscal Indicators. OECD Economics Department Working Papers, No. 79. doi:10.1787/budget-v2-art12-en
Barrett, P. (2018). Interest-Growth Differentials and Debt Limits in Advanced Economies. IMF Working Paper, WP/18/82.
Examples
# Simple scalar case
dk_rg(interest_rate = 0.04, gdp_growth = 0.03)
#> $rg_differential
#> [1] 0.01
#>
# With debt: compute stabilising primary balance
dk_rg(interest_rate = 0.04, gdp_growth = 0.03, debt = 0.90)
#> $rg_differential
#> [1] 0.01
#>
#> $debt_stabilising_pb
#> [1] 0.008737864
#>
# With inflation: compute real r-g
dk_rg(interest_rate = 0.04, gdp_growth = 0.05, inflation = 0.02)
#> $rg_differential
#> [1] -0.01
#>
#> $real_rg
#> [1] -0.009803922
#>
# Vector case using sample data
d <- dk_sample_data()
dk_rg(
interest_rate = d$interest_rate,
gdp_growth = d$gdp_growth,
debt = d$debt
)
#> $rg_differential
#> [1] -0.010 -0.007 -0.018 -0.001 0.060 0.005 -0.002 -0.010 -0.010 -0.017
#> [11] -0.023 -0.015 -0.022 -0.022 -0.028 0.050 -0.047 -0.030 -0.010 -0.002
#>
#> $debt_stabilising_pb
#> [1] -0.0042654028 -0.0029333333 -0.0071320755 -0.0003923445 0.0336734694
#> [6] 0.0029126214 -0.0011980676 -0.0057692308 -0.0055876686 -0.0091362764
#> [11] -0.0121052632 -0.0078260870 -0.0116346154 -0.0111900192 -0.0138666667
#> [16] 0.0373056995 -0.0330985915 -0.0207582938 -0.0067942584 -0.0013269231
#>