我试图在R中重现这个名为" Brock Value"的情节:
情节(Brock Value)的来自here。
能够在R中提取所有必要的数据来构建这个图将提供大部分最新结果,这将非常有用,但我不确定技术上如何执行它。有什么建议吗?
答案 0 :(得分:1)
我不确定他们将数据返回到1919年的位置,但您可以轻松地将数据恢复到1950年,使用quantmod::getSymbols
进行计算所需的所有3个系列。
作者并未明确他们用于GDP的系列,因此它可能是名义上的,真实的,季节性调整的,而不是季节性调整的等等。
require(quantmod)
# Pull S&P500 from Yahoo
getSymbols("^GSPC", src="yahoo", from="1947-01-01")
# Convert to monthly, since GDP/AAA are quarterly/monthly, respectively
SPX <- to.monthly(GSPC, name="SPX")
# Pull GDP and AAA bond yield from FRED
getSymbols("AAA;GDP", src="FRED")
# Convert xts index to yearmon, so series will merge cleanly
index(AAA) <- as.yearmon(index(AAA))
index(GDP) <- as.yearmon(index(GDP))
# Merge, fill w/NA, and omit all obs where we don't have data for all 3 series
x <- na.omit(merge(SPX, GDP, AAA, fill=na.locf))
indexTZ(x) <- "UTC" # avoid potential timezone issues with non-datetime index
# Calculate Brock Value
x$BV <- x$GDP/(2*x$AAA)
# plot
plot(log(x[,c("SPX.Close","BV")]), main="Brock Value")