A Divisia aggregate depends on two choices besides the data: the benchmark rate that prices the user costs, and the index formula. This vignette shows on the simulated data money_sim how much each matters, and when the Divisia aggregate and the simple sum part ways.
largest component rate bond yield (rb) bond yield + 1 point
10.21 11.27 11.50
bond yield + 3 points
11.81
With the largest component rate as the benchmark the aggregate grows 10.2% a year, against 11.3% with the bond yield. The component with the largest rate, the time deposits over one year, then has a user cost of zero at most dates and almost no weight, although it grows fastest. A benchmark above every component rate gives every component some weight; raising it further raises the weights of the interest-bearing deposits (their user costs rise proportionally more than that of currency), so the aggregate moves towards the simple sum.
w <-function(b) { u <-dmai_user_cost(.data = money_sim , date ="Date" , x =NULL , r =NULL , benchmark = b , percent =TRUE )$components u[, .(share =mean(share)), by = component]}merge(w(NULL), w("rb"), by ="component", suffixes =c("_largest_rate", "_bond_yield"))
Divisia and Fisher differ by less than a thousandth of the index; the choice between superlative formulas hardly matters. The simple-sum aggregate grows about one and a half points a year faster. The currency equivalent index moves with the level of the rates: when the benchmark falls, the deposits count as more money-like and the index jumps.
4 When the simple sum misleads
The gap between the growth of the simple sum and of the Divisia aggregate comes from the components that grow faster or slower than the others. The Divisia second moment measures that spread:
fit <-dmai(.data = money_sim , method =c("Barnett", "Hancock", "Fisher", "SimpleSum", "CE") , logbase =NULL , date ="Date" , x =NULL , r =NULL , user_cost =NULL , benchmark ="rb" , percent =TRUE , base =100 , as_dt =FALSE )gap <- fit$simple_sum$growth - fit$index$DMAIsd <-dmai_moments(.data = fit )$moments$sdcor(x =abs(gap), y = sd, use ="complete.obs")
[1] 0.3556961
d <- data.table::data.table(Date = fit$index$Date, gap = gap, sd = sd)[!is.na(gap)]ggplot2::ggplot(data = d, mapping = ggplot2::aes(x = sd, y =abs(gap))) + ggplot2::geom_point(colour ="#1f4e9e", alpha =0.6) + ggplot2::labs(x ="Divisia standard deviation of component growth (percent)",y ="|simple sum - Divisia growth| (points)") +dmai_theme(base_size =11 , base_family ="serif" , ticks_inward =TRUE , legend_position ="bottom" )
The correlation is 0.36: months with a larger spread of component growth tend to be months in which the two aggregates disagree more, the diagnostic of Barnett and Serletis (1990). In these simulated data much of the gap is the steady trend difference between the components, which the spread of a single month does not capture.
5 References
Barnett, W. A. (1980). Economic monetary aggregates: an application of index number and aggregation theory. Journal of Econometrics, 14(1), 11–48.
Barnett, W. A. and Serletis, A. (1990). A dispersion-dependency diagnostic test for aggregation error: with applications to monetary economics and income distribution. Journal of Econometrics, 43(1–2), 5–34.
Rotemberg, J. J., Driscoll, J. C. and Poterba, J. M. (1995). Money, output, and prices: evidence from a new monetary aggregate. Journal of Business and Economic Statistics, 13(1), 67–83.