Introduction
This is a quick overview on how to access inflation data.
Inflation data is typically measured through the Consumer Price Index.
This measure utilizes the evolution of prices of a group of goods over time.
This group of goods is called a “market basket.”
One downside of the CPI approach is that it does not respond the substitutes and changing preferences or good quality.
For example if there were a substitue available, as the price of good in the market basket increased, consumers could substitute to another, lower cost, good.
Additionally, if consumer preferences changes that could increase or decrease the value of a good in the basket (e.g. a new health benefit was found for another good which reduces consumption of another good or a good in the basket had a health benefit and more consumers purchased it thus stimulating demand).
While the CPI might over-estimate inflation, it provides some measure (don’t let the great be the enemy of the good.)
Accessing the Data
Here we can use the Federal Reserve Application Programming interface to pull data for the CPI (“CPIAUCSL”).
It is also a good practice to look at the CPI in the face of the Federal Funds Rate, or the rate at which banks can loan each other funds.
Comparing these two rates, one can calculate an idea of the real interest rate (or at least the real federal funds rate).
As a reminder:
\[i_{real} = i_{nominal} - i_{inflation}\]
Thus we can calculate this by the following:
Graphing the Output
Now we can see these together:
inflation %>%
bind_rows(fed_fund) %>%
mutate(series_id = case_when(series_id == "EFFR"~"Federal Funds Rate",
TRUE ~ "CPI Perc Change")) %>%
ggplot(aes(date,value, color = series_id))+
geom_line()+
labs(
title = "Consumer Price Index and Federal Funds Rate",
y = "Percent",
color = "Metric",
caption = "Data: FRED St. Louis Federal Reserve"
)+
geom_line(data = real_i, aes(date, real_i, color = "Real Interest Rate"))+
scale_color_manual(values = c(uncg_pal[[1]], uncg_pal[[2]], uncg_pal[[5]]))
LS0tCnRpdGxlOiBPbiBJbmZsYXRpb24KLS0tCgpgYGB7ciBlY2hvPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQpzb3VyY2UoIlIvaGVscGVycy5SIikKa25pdHI6Om9wdHNfY2h1bmskc2V0KHdhcm5pbmcgPSBGQUxTRSwgbWVzc2FnZSA9IEZBTFNFLCBmaWcuYWxpZ24gPSAiY2VudGVyIixvdXQud2lkdGggPSAiODAlIikKbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkoZnJlZHIpCmZyZWRyX3NldF9rZXkoRlJFRF9BUEkpCgpgYGAKCiMgSW50cm9kdWN0aW9uCgpUaGlzIGlzIGEgcXVpY2sgb3ZlcnZpZXcgb24gaG93IHRvIGFjY2VzcyBpbmZsYXRpb24gZGF0YS4KSW5mbGF0aW9uIGRhdGEgaXMgdHlwaWNhbGx5IG1lYXN1cmVkIHRocm91Z2ggdGhlIF9Db25zdW1lciBQcmljZSBJbmRleF8uClRoaXMgbWVhc3VyZSB1dGlsaXplcyB0aGUgZXZvbHV0aW9uIG9mIHByaWNlcyBvZiBhIGdyb3VwIG9mIGdvb2RzIG92ZXIgdGltZS4KVGhpcyBncm91cCBvZiBnb29kcyBpcyBjYWxsZWQgYSAibWFya2V0IGJhc2tldC4iCk9uZSBkb3duc2lkZSBvZiB0aGUgQ1BJIGFwcHJvYWNoIGlzIHRoYXQgaXQgZG9lcyBub3QgcmVzcG9uZCB0aGUgc3Vic3RpdHV0ZXMgYW5kIGNoYW5naW5nIHByZWZlcmVuY2VzIG9yIGdvb2QgcXVhbGl0eS4gCkZvciBleGFtcGxlIGlmIHRoZXJlIHdlcmUgYSBzdWJzdGl0dWUgYXZhaWxhYmxlLCBhcyB0aGUgcHJpY2Ugb2YgZ29vZCBpbiB0aGUgbWFya2V0IGJhc2tldCBpbmNyZWFzZWQsIGNvbnN1bWVycyBjb3VsZCBzdWJzdGl0dXRlIHRvIGFub3RoZXIsIGxvd2VyIGNvc3QsIGdvb2QuCkFkZGl0aW9uYWxseSwgaWYgY29uc3VtZXIgcHJlZmVyZW5jZXMgY2hhbmdlcyB0aGF0IGNvdWxkIGluY3JlYXNlIG9yIGRlY3JlYXNlIHRoZSB2YWx1ZSBvZiBhIGdvb2QgaW4gdGhlIGJhc2tldCAoZS5nLiBhIG5ldyBoZWFsdGggYmVuZWZpdCB3YXMgZm91bmQgZm9yIGFub3RoZXIgZ29vZCB3aGljaCByZWR1Y2VzIGNvbnN1bXB0aW9uIG9mIGFub3RoZXIgZ29vZCBvciBhIGdvb2QgaW4gdGhlIGJhc2tldCBoYWQgYSBoZWFsdGggYmVuZWZpdCBhbmQgbW9yZSBjb25zdW1lcnMgcHVyY2hhc2VkIGl0IHRodXMgc3RpbXVsYXRpbmcgZGVtYW5kKS4KV2hpbGUgdGhlIENQSSBtaWdodCBvdmVyLWVzdGltYXRlIGluZmxhdGlvbiwgaXQgcHJvdmlkZXMgc29tZSBtZWFzdXJlIChkb24ndCBsZXQgdGhlIGdyZWF0IGJlIHRoZSBlbmVteSBvZiB0aGUgZ29vZC4pCgojIEFjY2Vzc2luZyB0aGUgRGF0YQoKSGVyZSB3ZSBjYW4gdXNlIHRoZSBGZWRlcmFsIFJlc2VydmUgQXBwbGljYXRpb24gUHJvZ3JhbW1pbmcgaW50ZXJmYWNlIHRvIHB1bGwgZGF0YSBmb3IgdGhlIENQSSAoIkNQSUFVQ1NMIikuIApJdCBpcyBhbHNvIGEgZ29vZCBwcmFjdGljZSB0byBsb29rIGF0IHRoZSBDUEkgaW4gdGhlIGZhY2Ugb2YgdGhlIFtGZWRlcmFsIEZ1bmRzIFJhdGVdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0ZlZGVyYWxfZnVuZHNfcmF0ZSksIG9yIHRoZSByYXRlIGF0IHdoaWNoIGJhbmtzIGNhbiBsb2FuIGVhY2ggb3RoZXIgZnVuZHMuCkNvbXBhcmluZyB0aGVzZSB0d28gcmF0ZXMsIG9uZSBjYW4gY2FsY3VsYXRlIGFuIGlkZWEgb2YgdGhlIHJlYWwgaW50ZXJlc3QgcmF0ZSAob3IgYXQgbGVhc3QgdGhlIHJlYWwgZmVkZXJhbCBmdW5kcyByYXRlKS4KCmBgYHtyfQppbmZsYXRpb24gPC0gZnJlZHIoc2VyaWVzX2lkID0gIkNQSUFVQ1NMIiwKCQkJCQkJCQkJIG9ic2VydmF0aW9uX3N0YXJ0ID0gYXMuRGF0ZSgiMjAwMC0wMS0wMSIpLAoJCQkJCQkJCQkgdW5pdHMgPSAicGNoIgoJCQkJCQkJCQkgKQpmZWRfZnVuZCA8LSBmcmVkcihzZXJpZXNfaWQgPSAiRUZGUiIsCgkJCQkJCQkJCW9ic2VydmF0aW9uX3N0YXJ0ID0gYXMuRGF0ZSgiMjAwMC0wMS0wMSIpKQpgYGAKCkFzIGEgcmVtaW5kZXI6CgokJGlfe3JlYWx9ID0gaV97bm9taW5hbH0gLSBpX3tpbmZsYXRpb259JCQKClRodXMgd2UgY2FuIGNhbGN1bGF0ZSB0aGlzIGJ5IHRoZSBmb2xsb3dpbmc6CgpgYGB7cn0KcmVhbF9pIDwtIGluZmxhdGlvbiAlPiUgCglyZW5hbWUoY3BpID0gdmFsdWUpICU+JSAKCWxlZnRfam9pbihmZWRfZnVuZCAlPiUgCgkJCQkJCQlyZW5hbWUoZWZmciA9IHZhbHVlKSAlPiUgCgkJCQkJCQlzZWxlY3QoLXNlcmllc19pZCksIGJ5ID0gYygiZGF0ZSIpKSAlPiUgCglmaWxsKGVmZnIsLmRpcmVjdGlvbiA9ICJkb3duIikgJT4lIAoJbXV0YXRlKHJlYWxfaSA9IGVmZnItY3BpKQpgYGAKCiMgR3JhcGhpbmcgdGhlIE91dHB1dAoKTm93IHdlIGNhbiBzZWUgdGhlc2UgdG9nZXRoZXI6CgpgYGB7ciBmaWcuY2FwPSJQbG90IG9mIEZlZGVyYWwgRnVuZHMgUmF0ZSwgUmVhbCBJbnRlcmVzdCBSYXRlLCBhbmQgQ1BJICglIENoYW5nZSksIFNpbmNlIDIwMDAiLCBmaWd9CmluZmxhdGlvbiAlPiUgCgliaW5kX3Jvd3MoZmVkX2Z1bmQpICU+JSAKCW11dGF0ZShzZXJpZXNfaWQgPSBjYXNlX3doZW4oc2VyaWVzX2lkID09ICJFRkZSIn4iRmVkZXJhbCBGdW5kcyBSYXRlIiwKCQlUUlVFIH4gIkNQSSBQZXJjIENoYW5nZSIpKSAlPiUgCglnZ3Bsb3QoYWVzKGRhdGUsdmFsdWUsIGNvbG9yID0gc2VyaWVzX2lkKSkrCglnZW9tX2xpbmUoKSsKCWxhYnMoCgkJdGl0bGUgPSAiQ29uc3VtZXIgUHJpY2UgSW5kZXggYW5kIEZlZGVyYWwgRnVuZHMgUmF0ZSIsCgkJeSA9ICJQZXJjZW50IiwKCQljb2xvciA9ICJNZXRyaWMiLAoJCWNhcHRpb24gPSAiRGF0YTogRlJFRCBTdC4gTG91aXMgRmVkZXJhbCBSZXNlcnZlIgoJKSsKCWdlb21fbGluZShkYXRhID0gcmVhbF9pLCBhZXMoZGF0ZSwgcmVhbF9pLCBjb2xvciA9ICJSZWFsIEludGVyZXN0IFJhdGUiKSkrCgkJc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcyA9IGModW5jZ19wYWxbWzFdXSwgdW5jZ19wYWxbWzJdXSwgdW5jZ19wYWxbWzVdXSkpCmBgYAoK
Code licensed under the BSD 3-clause license
Text licensed under the CC-BY-ND-NC 4.0 license
Copyright © 2020 Michael DeWitt