Findings
INTERNAL USE
What is the distribution of asset sizes in the index? (2000-2020)
> summary(size_dat$Size) Min. 1st Qu. Median Mean 3rd Qu. Max. 2.139e+03 2.205e+07 1.070e+08 6.319e+08 4.531e+08 4.468e+10
2019 only
size_dat=data_equity_prices_bo0ty_usd %>% select(ValueDate,Size=Value) %>% filter(Size>10^3)
hist(log(size_dat$Size), breaks = 100, main = "Histogram of Index Constituent Sizes (USD)", xlab="USD Size (log scale)", xlim = c(10,25), probability = T, xaxt="n")
lines(density(rnorm(100000, mean=mean(log(size_dat$Size), na.rm = T),sd=sd(log(size_dat$Size), na.rm = T))), col="red")
legend("topleft",c("Gaussian Distribution"), lty = 1, bty = "n", col="red")
axis(1, at=c(10,15,20,25),labels=format(round(as.numeric(c(exp(10),exp(15),exp(20),exp(25))),0),nsmall=0, big.mark=","), col.axis="black", las=0)
size_dat_ts=size_dat %>% group_by(ValueDate) %>% mutate(Size=log(Size)) %>%
summarise(mean=mean(Size),median=median(Size), sd=sd(Size)) %>%
mutate(upper=mean+1.97*sd, lower=mean-1.97*sd)
attach(size_dat_ts)
par(mar = c(5, 10, 5, 5))
plot(ValueDate,mean,type="l", main = "Average Constituent Size (USD, log sacle)", ylim = c(10,25), yaxt="n", xlab="", ylab="")
axis(2, at=c(10,15,20,25),labels=format(round(as.numeric(c(exp(10),exp(15),exp(20),exp(25))),0),nsmall=0, big.mark=","), col.axis="black", las=2)
lines(ValueDate,upper, col="red", lty=2)
lines(ValueDate,lower, col="red", lty=2)
What is the average leverage in the index? (Q4 2019)
> summary(lev_dat$lev_m) Min. 1st Qu. Median Mean 3rd Qu. Max. 0.7249 0.7789 0.7827 0.7805 0.7879 0.8022 > summary(lev_dat$lev_med) Min. 1st Qu. Median Mean 3rd Qu. Max. 0.7776 0.8373 0.8444 0.8470 0.8570 0.8765 > summary(lev_dat$lev_mw) Min. 1st Qu. Median Mean 3rd Qu. Max. 0.5240 0.7270 0.7388 0.7201 0.7633 0.7732
lev_dat= data_equity_prices_bo0ty_usd_fixed %>% select(ReportID,ValueDate,weight=Value) %>%
mutate(CompanyID=substr(ReportID,5,13)) %>%
left_join(select(equity_premia_sys_pred,CompanyID,ValueDate,Leverage_logXplus),
by=c("CompanyID"="CompanyID","ValueDate"="ValueDate")) %>%
mutate(leverage=exp(Leverage_logXplus)-0.1) %>%
group_by(ValueDate) %>%
summarise(lev_m=mean(leverage), lev_med=median(leverage), lev_mw=weighted.mean(leverage, weight))
attach(lev_dat)
plot(ValueDate,lev_med,type = "l", ylim = c(0.5,0.9), main="Average leverage factor loading (Senior Liabilities/ Total Assets)", ylab="Senior Leverage", xlab="")
lines(ValueDate,lev_m, col="red")
lines(ValueDate,lev_mw, col="blue")
legend("bottomright",c("Median","Mean","Value Weighted Mean"), col=c("black","red","blue"), lty=1, bty = "n")