Question 1-5
# Load libraries
library(quantmod)
## Loading required package: xts
## Warning: package 'xts' was built under R version 4.3.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.3.3
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
## Loading required package: TTR
## Warning: package 'TTR' was built under R version 4.3.3
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
library(tidyquant)
## Warning: package 'tidyquant' was built under R version 4.3.3
## Loading required package: lubridate
## Warning: package 'lubridate' was built under R version 4.3.3
##
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
## Loading required package: PerformanceAnalytics
## Warning: package 'PerformanceAnalytics' was built under R version 4.3.3
##
## Attaching package: 'PerformanceAnalytics'
## The following object is masked from 'package:graphics':
##
## legend
library(lubridate)
library(timetk)
## Warning: package 'timetk' was built under R version 4.3.3
library(purrr)
## Warning: package 'purrr' was built under R version 4.3.3
library(tibble)
## Warning: package 'tibble' was built under R version 4.3.3
library(PerformanceAnalytics)
library(magrittr)
## Warning: package 'magrittr' was built under R version 4.3.3
##
## Attaching package: 'magrittr'
## The following object is masked from 'package:purrr':
##
## set_names
library(readr)
## Warning: package 'readr' was built under R version 4.3.3
library(xts)
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.3.3
##
## ######################### Warning from 'xts' package ##########################
## # #
## # The dplyr lag() function breaks how base R's lag() function is supposed to #
## # work, which breaks lag(my_xts). Calls to lag(my_xts) that you type or #
## # source() into this session won't work correctly. #
## # #
## # Use stats::lag() to make sure you're not using dplyr::lag(), or you can add #
## # conflictRules('dplyr', exclude = 'lag') to your .Rprofile to stop #
## # dplyr from breaking base R's lag() function. #
## # #
## # Code in packages is not affected. It's protected by R's namespace mechanism #
## # Set `options(xts.warn_dplyr_breaks_lag = FALSE)` to suppress this warning. #
## # #
## ###############################################################################
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:xts':
##
## first, last
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.3
## Warning: package 'tidyr' was built under R version 4.3.3
## Warning: package 'stringr' was built under R version 4.3.3
## Warning: package 'forcats' was built under R version 4.3.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.0 ✔ tidyr 1.3.1
## ✔ stringr 1.5.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ tidyr::extract() masks magrittr::extract()
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::first() masks xts::first()
## ✖ dplyr::lag() masks stats::lag()
## ✖ dplyr::last() masks xts::last()
## ✖ magrittr::set_names() masks purrr::set_names()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
# Define the ticker names and the time frame
tickers <- c("SPY", "QQQ", "EEM", "IWM", "EFA", "TLT", "IYR", "GLD")
data = new.env()
getSymbols(tickers, src = 'yahoo', from = '2010-01-01', to = Sys.Date(), auto.assign = TRUE)
## [1] "SPY" "QQQ" "EEM" "IWM" "EFA" "TLT" "IYR" "GLD"
ETFList <- merge(Ad(SPY), Ad(QQQ),Ad(EEM), Ad(IWM),Ad(EFA),Ad(TLT),Ad(IYR),Ad(GLD))
colnames(ETFList) <- c("SPY", "QQQ", "EEM", "IWM", "EFA", "TLT", "IYR", "GLD")
head(ETFList)
## SPY QQQ EEM IWM EFA TLT IYR
## 2010-01-04 86.86006 40.73328 31.82712 52.51540 37.52378 60.71099 28.10297
## 2010-01-05 87.08998 40.73328 32.05812 52.33484 37.55686 61.10305 28.17046
## 2010-01-06 87.15130 40.48757 32.12518 52.28558 37.71560 60.28511 28.15820
## 2010-01-07 87.51920 40.51391 31.93890 52.67136 37.57008 60.38649 28.40972
## 2010-01-08 87.81045 40.84735 32.19226 52.95864 37.86773 60.35943 28.21955
## 2010-01-11 87.93305 40.68064 32.12518 52.74524 38.17862 60.02822 28.35451
## GLD
## 2010-01-04 109.80
## 2010-01-05 109.70
## 2010-01-06 111.51
## 2010-01-07 110.82
## 2010-01-08 111.37
## 2010-01-11 112.85
tail(ETFList)
## SPY QQQ EEM IWM EFA TLT IYR GLD
## 2024-05-31 527.37 450.71 41.79 205.77 81.18 90.142 86.67 215.30
## 2024-06-03 527.80 453.13 42.23 204.61 81.41 91.600 86.43 217.22
## 2024-06-04 528.39 454.37 41.64 201.97 81.31 92.670 87.20 215.27
## 2024-06-05 534.67 463.53 42.31 205.06 81.88 93.350 86.99 217.82
## 2024-06-06 534.66 463.37 42.52 203.59 82.16 93.210 87.13 219.43
## 2024-06-07 534.01 462.96 42.04 201.20 81.27 91.500 86.43 211.60
ETFList.xts <- xts(ETFList)
head(ETFList.xts)
## SPY QQQ EEM IWM EFA TLT IYR
## 2010-01-04 86.86006 40.73328 31.82712 52.51540 37.52378 60.71099 28.10297
## 2010-01-05 87.08998 40.73328 32.05812 52.33484 37.55686 61.10305 28.17046
## 2010-01-06 87.15130 40.48757 32.12518 52.28558 37.71560 60.28511 28.15820
## 2010-01-07 87.51920 40.51391 31.93890 52.67136 37.57008 60.38649 28.40972
## 2010-01-08 87.81045 40.84735 32.19226 52.95864 37.86773 60.35943 28.21955
## 2010-01-11 87.93305 40.68064 32.12518 52.74524 38.17862 60.02822 28.35451
## GLD
## 2010-01-04 109.80
## 2010-01-05 109.70
## 2010-01-06 111.51
## 2010-01-07 110.82
## 2010-01-08 111.37
## 2010-01-11 112.85
#weekly returns
weekly.returns <- to.weekly(ETFList.xts, indexAt = "last", OHLC = FALSE)
ETF.weekly.returns <- na.omit(Return.calculate(weekly.returns, method = "log"))
head(ETF.weekly.returns)
## SPY QQQ EEM IWM EFA
## 2010-01-15 -0.008150338 -0.01515182 -0.02936239 -0.01310463 -0.003499387
## 2010-01-22 -0.039763317 -0.03755546 -0.05739658 -0.03110041 -0.057354489
## 2010-01-29 -0.016805493 -0.03151508 -0.03415404 -0.02659405 -0.026141539
## 2010-02-05 -0.006820449 0.00443019 -0.02861857 -0.01407286 -0.019238663
## 2010-02-12 0.012855113 0.01798514 0.03278944 0.02909817 0.005230899
## 2010-02-19 0.028289024 0.02415761 0.02415974 0.03288516 0.022734796
## TLT IYR GLD
## 2010-01-15 1.984958e-02 -0.006324720 -0.004589867
## 2010-01-22 1.004959e-02 -0.042682928 -0.033851808
## 2010-01-29 3.364491e-03 -0.008483327 -0.011354686
## 2010-02-05 -5.483692e-05 0.003218196 -0.012153575
## 2010-02-12 -1.965246e-02 -0.007602759 0.022294524
## 2010-02-19 -8.238372e-03 0.048966221 0.022447945
tail(ETF.weekly.returns)
## SPY QQQ EEM IWM EFA
## 2024-05-03 5.943814e-03 0.01034081 0.0310881818 0.017688930 0.012238795
## 2024-05-10 1.850598e-02 0.01499672 0.0007061029 0.011865941 0.017832925
## 2024-05-17 1.639581e-02 0.02170547 0.0299014258 0.018284194 0.016051747
## 2024-05-24 -1.890615e-05 0.01360895 -0.0177403672 -0.012768598 -0.007253045
## 2024-05-31 -3.917469e-03 -0.01593594 -0.0290080361 0.001605029 0.001602629
## 2024-06-07 1.251220e-02 0.02681654 0.0059644694 -0.022459638 0.001107988
## TLT IYR GLD
## 2024-05-03 0.0214673251 0.014550063 -0.017040258
## 2024-05-10 0.0031118742 0.020856044 0.026642296
## 2024-05-17 0.0139938967 0.024058882 0.022380376
## 2024-05-24 -0.0001094056 -0.037483488 -0.035219098
## 2024-05-31 -0.0102294348 0.018398305 -0.002875542
## 2024-06-07 0.0149527865 -0.002772941 -0.017334690
#monthly returns
monthly.returns <- to.monthly(ETFList.xts, indexAt = "last", OHLC = FALSE)
ETF.monthly.returns <- na.omit(Return.calculate(monthly.returns, method = "log"))
head(ETF.monthly.returns)
## SPY QQQ EEM IWM EFA
## 2010-02-26 0.03071834 0.04501066 0.017607946 0.04377892 0.002664225
## 2010-03-31 0.05909808 0.07428033 0.077987288 0.07909504 0.061898054
## 2010-04-30 0.01535189 0.02217782 -0.001663262 0.05523035 -0.028446271
## 2010-05-28 -0.08278866 -0.07679853 -0.098645453 -0.07835765 -0.118702711
## 2010-06-30 -0.05312769 -0.06161713 -0.014084918 -0.08059625 -0.020834899
## 2010-07-30 0.06606953 0.07006915 0.103751199 0.06514078 0.109844324
## TLT IYR GLD
## 2010-02-26 -0.003430554 0.05313345 0.032223422
## 2010-03-31 -0.020787982 0.09302078 -0.004396045
## 2010-04-30 0.032678472 0.06192379 0.057168645
## 2010-05-28 0.049822038 -0.05851448 0.030056879
## 2010-06-30 0.056359320 -0.04782659 0.023280093
## 2010-07-30 -0.009508422 0.08988442 -0.052210723
tail(ETF.monthly.returns)
## SPY QQQ EEM IWM EFA
## 2024-01-31 0.01580099 0.01802859 -0.046318705 -0.03979283 -0.004522438
## 2024-02-29 0.05087068 0.05148515 0.040832472 0.05472731 0.029425449
## 2024-03-28 0.03217864 0.01266909 0.026891965 0.03427554 0.033228193
## 2024-04-30 -0.04115501 -0.04472312 -0.002193254 -0.07093080 -0.032969371
## 2024-05-31 0.04934208 0.05970011 0.019328923 0.04915477 0.049363177
## 2024-06-07 0.01251220 0.02681654 0.005964469 -0.02245964 0.001107988
## TLT IYR GLD
## 2024-01-31 -0.022707273 -0.052324523 -0.014330371
## 2024-02-29 -0.022779564 0.021101450 0.004553167
## 2024-03-28 0.007798144 0.018368747 0.083130157
## 2024-04-30 -0.066732274 -0.084688296 0.029456829
## 2024-05-31 0.028460902 0.048098120 0.016059563
## 2024-06-07 0.014952787 -0.002772941 -0.017334690
#tibble format
ETF.monthly.returns.tibble <- as_tibble(ETF.monthly.returns)
ETF.monthly.returns.tibble
## # A tibble: 173 × 8
## SPY QQQ EEM IWM EFA TLT IYR GLD
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 0.0307 0.0450 0.0176 0.0438 0.00266 -0.00343 0.0531 0.0322
## 2 0.0591 0.0743 0.0780 0.0791 0.0619 -0.0208 0.0930 -0.00440
## 3 0.0154 0.0222 -0.00166 0.0552 -0.0284 0.0327 0.0619 0.0572
## 4 -0.0828 -0.0768 -0.0986 -0.0784 -0.119 0.0498 -0.0585 0.0301
## 5 -0.0531 -0.0616 -0.0141 -0.0806 -0.0208 0.0564 -0.0478 0.0233
## 6 0.0661 0.0701 0.104 0.0651 0.110 -0.00951 0.0899 -0.0522
## 7 -0.0460 -0.0527 -0.0329 -0.0774 -0.0387 0.0806 -0.0131 0.0555
## 8 0.0858 0.124 0.111 0.117 0.0951 -0.0255 0.0453 0.0467
## 9 0.0375 0.0615 0.0297 0.0406 0.0373 -0.0457 0.0386 0.0362
## 10 0 -0.00173 -0.0295 0.0343 -0.0494 -0.0170 -0.0160 0.0209
## # ℹ 163 more rows
setwd("D:/School Folder/HW/Investment")
ff3 <- read.csv("F-F_Research_Data_Factors.csv", header = TRUE)
str(ff3)
## 'data.frame': 1174 obs. of 5 variables:
## $ X : int 192607 192608 192609 192610 192611 192612 192701 192702 192703 192704 ...
## $ Mkt.RF: num 2.96 2.64 0.36 -3.24 2.53 2.62 -0.06 4.18 0.13 0.46 ...
## $ SMB : num -2.56 -1.17 -1.4 -0.09 -0.1 -0.03 -0.37 0.04 -1.65 0.3 ...
## $ HML : num -2.43 3.82 0.13 0.7 -0.51 -0.05 4.54 2.94 -2.61 0.81 ...
## $ RF : num 0.22 0.25 0.23 0.32 0.31 0.28 0.25 0.26 0.3 0.25 ...
head(ff3)
## X Mkt.RF SMB HML RF
## 1 192607 2.96 -2.56 -2.43 0.22
## 2 192608 2.64 -1.17 3.82 0.25
## 3 192609 0.36 -1.40 0.13 0.23
## 4 192610 -3.24 -0.09 0.70 0.32
## 5 192611 2.53 -0.10 -0.51 0.31
## 6 192612 2.62 -0.03 -0.05 0.28
tail(ff3)
## X Mkt.RF SMB HML RF
## 1169 202311 8.84 -0.02 1.64 0.44
## 1170 202312 4.87 6.34 4.93 0.43
## 1171 202401 0.70 -5.09 -2.38 0.47
## 1172 202402 5.06 -0.24 -3.49 0.42
## 1173 202403 2.83 -2.49 4.19 0.43
## 1174 202404 -4.67 -2.39 -0.51 0.47
glimpse(ff3)
## Rows: 1,174
## Columns: 5
## $ X <int> 192607, 192608, 192609, 192610, 192611, 192612, 192701, 192702,…
## $ Mkt.RF <dbl> 2.96, 2.64, 0.36, -3.24, 2.53, 2.62, -0.06, 4.18, 0.13, 0.46, 5…
## $ SMB <dbl> -2.56, -1.17, -1.40, -0.09, -0.10, -0.03, -0.37, 0.04, -1.65, 0…
## $ HML <dbl> -2.43, 3.82, 0.13, 0.70, -0.51, -0.05, 4.54, 2.94, -2.61, 0.81,…
## $ RF <dbl> 0.22, 0.25, 0.23, 0.32, 0.31, 0.28, 0.25, 0.26, 0.30, 0.25, 0.3…
colnames(ff3) <- paste(c("date","Mkt-RF","SMB","HML","RF"))
ff3.digit <- ff3 %>% mutate(date = as.character(date))%>%
mutate(date=ymd(parse_date(date,format="%Y%m"))) %>%
mutate(date = rollback(date))
head(ff3.digit)
## date Mkt-RF SMB HML RF
## 1 1926-06-30 2.96 -2.56 -2.43 0.22
## 2 1926-07-31 2.64 -1.17 3.82 0.25
## 3 1926-08-31 0.36 -1.40 0.13 0.23
## 4 1926-09-30 -3.24 -0.09 0.70 0.32
## 5 1926-10-31 2.53 -0.10 -0.51 0.31
## 6 1926-11-30 2.62 -0.03 -0.05 0.28
ff3.digit.xts <- xts(ff3.digit[,-1],order.by=as.Date(ff3.digit$date))
head(ff3.digit.xts)
## Mkt-RF SMB HML RF
## 1926-06-30 2.96 -2.56 -2.43 0.22
## 1926-07-31 2.64 -1.17 3.82 0.25
## 1926-08-31 0.36 -1.40 0.13 0.23
## 1926-09-30 -3.24 -0.09 0.70 0.32
## 1926-10-31 2.53 -0.10 -0.51 0.31
## 1926-11-30 2.62 -0.03 -0.05 0.28
#merge of monthly returns and fama french
final.data <- merge(ff3.digit,ETF.monthly.returns)
tail(final.data)
## date Mkt-RF SMB HML RF SPY QQQ EEM
## 203097 2023-10-31 8.84 -0.02 1.64 0.44 0.0125122 0.02681654 0.005964469
## 203098 2023-11-30 4.87 6.34 4.93 0.43 0.0125122 0.02681654 0.005964469
## 203099 2023-12-31 0.70 -5.09 -2.38 0.47 0.0125122 0.02681654 0.005964469
## 203100 2024-01-31 5.06 -0.24 -3.49 0.42 0.0125122 0.02681654 0.005964469
## 203101 2024-02-29 2.83 -2.49 4.19 0.43 0.0125122 0.02681654 0.005964469
## 203102 2024-03-31 -4.67 -2.39 -0.51 0.47 0.0125122 0.02681654 0.005964469
## IWM EFA TLT IYR GLD
## 203097 -0.02245964 0.001107988 0.01495279 -0.002772941 -0.01733469
## 203098 -0.02245964 0.001107988 0.01495279 -0.002772941 -0.01733469
## 203099 -0.02245964 0.001107988 0.01495279 -0.002772941 -0.01733469
## 203100 -0.02245964 0.001107988 0.01495279 -0.002772941 -0.01733469
## 203101 -0.02245964 0.001107988 0.01495279 -0.002772941 -0.01733469
## 203102 -0.02245964 0.001107988 0.01495279 -0.002772941 -0.01733469
final.data.tibble <- as_tibble(final.data)
head(final.data.tibble)
## # A tibble: 6 × 13
## date `Mkt-RF` SMB HML RF SPY QQQ EEM IWM EFA
## <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1926-06-30 2.96 -2.56 -2.43 0.22 0.0307 0.0450 0.0176 0.0438 0.00266
## 2 1926-07-31 2.64 -1.17 3.82 0.25 0.0307 0.0450 0.0176 0.0438 0.00266
## 3 1926-08-31 0.36 -1.4 0.13 0.23 0.0307 0.0450 0.0176 0.0438 0.00266
## 4 1926-09-30 -3.24 -0.09 0.7 0.32 0.0307 0.0450 0.0176 0.0438 0.00266
## 5 1926-10-31 2.53 -0.1 -0.51 0.31 0.0307 0.0450 0.0176 0.0438 0.00266
## 6 1926-11-30 2.62 -0.03 -0.05 0.28 0.0307 0.0450 0.0176 0.0438 0.00266
## # ℹ 3 more variables: TLT <dbl>, IYR <dbl>, GLD <dbl>
Question 6 & 7
## # A tibble: 6 × 13
## date `Mkt-RF` SMB HML RF SPY QQQ EEM IWM EFA
## <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2010-02-28 6.31 1.48 2.21 0.01 0.0307 0.0450 0.0176 0.0438 0.00266
## 2 2010-03-31 2 4.87 2.89 0.01 0.0307 0.0450 0.0176 0.0438 0.00266
## 3 2010-04-30 -7.89 0.09 -2.44 0.01 0.0307 0.0450 0.0176 0.0438 0.00266
## 4 2010-05-31 -5.57 -1.82 -4.7 0.01 0.0307 0.0450 0.0176 0.0438 0.00266
## 5 2010-06-30 6.93 0.2 -0.31 0.01 0.0307 0.0450 0.0176 0.0438 0.00266
## 6 2010-07-31 -4.77 -3 -1.9 0.01 0.0307 0.0450 0.0176 0.0438 0.00266
## # ℹ 3 more variables: TLT <dbl>, IYR <dbl>, GLD <dbl>
## # A tibble: 6 × 13
## date `Mkt-RF` SMB HML RF SPY QQQ EEM IWM EFA
## <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2014-08-31 -1.97 -3.71 -1.34 0 0.0125 0.0268 0.00596 -0.0225 0.00111
## 2 2014-09-30 2.52 4.21 -1.81 0 0.0125 0.0268 0.00596 -0.0225 0.00111
## 3 2014-10-31 2.55 -2.06 -3.09 0 0.0125 0.0268 0.00596 -0.0225 0.00111
## 4 2014-11-30 -0.06 2.49 2.27 0 0.0125 0.0268 0.00596 -0.0225 0.00111
## 5 2014-12-31 -3.11 -0.56 -3.58 0 0.0125 0.0268 0.00596 -0.0225 0.00111
## 6 2015-01-31 6.13 0.63 -1.86 0 0.0125 0.0268 0.00596 -0.0225 0.00111
## # ℹ 3 more variables: TLT <dbl>, IYR <dbl>, GLD <dbl>
## spy_rf qqq_rf eem_rf iwm_rf efa_rf
## one.vec -0.259568090 -0.255856715 -0.268135401 -0.262252286 -0.265459883
## 0.003088849 0.003088849 0.003088849 0.003088849 0.003088849
## tlt_rf iyr_rf gld_rf
## one.vec -0.268164593 -0.263574692 -0.266379172
## 0.003088849 0.003088849 0.003088849
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] 0.06420763 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
## [2,] 0.00000000 0.06493947 0.00000000 0.00000000 0.00000000 0.00000000
## [3,] 0.00000000 0.00000000 0.06524272 0.00000000 0.00000000 0.00000000
## [4,] 0.00000000 0.00000000 0.00000000 0.06567052 0.00000000 0.00000000
## [5,] 0.00000000 0.00000000 0.00000000 0.00000000 0.06454722 0.00000000
## [6,] 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.06400105
## [7,] 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
## [8,] 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
## [,7] [,8]
## [1,] 0.00000000 0.00000000
## [2,] 0.00000000 0.00000000
## [3,] 0.00000000 0.00000000
## [4,] 0.00000000 0.00000000
## [5,] 0.00000000 0.00000000
## [6,] 0.00000000 0.00000000
## [7,] 0.06486568 0.00000000
## [8,] 0.00000000 0.06445405
## spy_rf qqq_rf eem_rf iwm_rf efa_rf tlt_rf iyr_rf gld_rf
## spy_rf 1.983866 1.892215 1.983010 1.939507 1.963226 1.983226 1.949286 1.970023
## qqq_rf 1.892215 1.930103 1.954660 1.911779 1.935159 1.954873 1.921418 1.941859
## eem_rf 1.983010 1.954660 2.113695 2.003513 2.028015 2.048675 2.013615 2.035037
## iwm_rf 1.939507 1.911779 2.003513 2.025231 1.983525 2.003731 1.969440 1.990393
## efa_rf 1.963226 1.935159 2.028015 1.983525 2.072329 2.028236 1.993525 2.014734
## tlt_rf 1.983226 1.954873 2.048675 2.003731 2.028236 2.112899 2.013834 2.035259
## iyr_rf 1.949286 1.921418 2.013615 1.969440 1.993525 2.013834 2.044236 2.000428
## gld_rf 1.970023 1.941859 2.035037 1.990393 2.014734 2.035259 2.000428 2.086164
## [,1]
## spy_rf 0.58088073
## qqq_rf 0.98030171
## eem_rf -0.36111131
## iwm_rf 0.27759956
## efa_rf -0.07056337
## tlt_rf -0.37135717
## iyr_rf 0.13622854
## gld_rf -0.17197868
## # A tibble: 6 × 8
## SPY QQQ EEM IWM EFA TLT IYR GLD
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 0.0307 0.0450 0.0176 0.0438 0.00266 -0.00343 0.0531 0.0322
## 2 0.0307 0.0450 0.0176 0.0438 0.00266 -0.00343 0.0531 0.0322
## 3 0.0307 0.0450 0.0176 0.0438 0.00266 -0.00343 0.0531 0.0322
## 4 0.0307 0.0450 0.0176 0.0438 0.00266 -0.00343 0.0531 0.0322
## 5 0.0307 0.0450 0.0176 0.0438 0.00266 -0.00343 0.0531 0.0322
## 6 0.0307 0.0450 0.0176 0.0438 0.00266 -0.00343 0.0531 0.0322
## SPY QQQ EEM IWM EFA TLT
## 0.001782445 0.002514703 0.002818127 0.003246167 0.002122233 0.001575754
## IYR GLD
## 0.002440870 0.002029005
## SPY QQQ EEM IWM EFA
## SPY 0.0017815864 1.949328e-03 0.0016256243 0.0021343253 0.0017034183
## QQQ 0.0019493276 2.513491e-03 0.0017485787 0.0022184439 0.0018077272
## EEM 0.0016256243 1.748579e-03 0.0028167696 0.0020930633 0.0020600487
## IWM 0.0021343253 2.218444e-03 0.0020930633 0.0032446029 0.0020655945
## EFA 0.0017034183 1.807727e-03 0.0020600487 0.0020655945 0.0021212102
## TLT -0.0001804656 -8.941720e-07 -0.0002112614 -0.0004222726 -0.0002268051
## IYR 0.0016158810 1.655385e-03 0.0016142741 0.0020528433 0.0016273199
## GLD 0.0001932115 2.768812e-04 0.0007213616 0.0001103868 0.0003290715
## TLT IYR GLD
## SPY -1.804656e-04 0.0016158810 0.0001932115
## QQQ -8.941720e-07 0.0016553845 0.0002768812
## EEM -2.112614e-04 0.0016142741 0.0007213616
## IWM -4.222726e-04 0.0020528433 0.0001103868
## EFA -2.268051e-04 0.0016273199 0.0003290715
## TLT 1.574995e-03 0.0003986690 0.0004710157
## IYR 3.986690e-04 0.0024396939 0.0004255504
## GLD 4.710157e-04 0.0004255504 0.0020280272
## SPY QQQ EEM IWM EFA
## SPY 1.000000e+00 1.444855e-04 1.757362e-05 7.791548e-05 4.654653e-05
## QQQ 1.444855e-04 1.000000e+00 2.137780e-05 9.159009e-05 5.586448e-05
## EEM 1.757362e-05 2.137780e-05 1.000000e+00 1.260329e-05 9.285001e-06
## IWM 7.791548e-05 9.159009e-05 1.260329e-05 1.000000e+00 3.143922e-05
## EFA 4.654653e-05 5.586448e-05 9.285001e-06 3.143922e-05 1.000000e+00
## TLT -2.575009e-06 -1.442920e-08 -4.972136e-07 -3.356123e-06 -1.349275e-06
## IYR 5.695592e-05 6.598804e-05 9.385237e-06 4.030380e-05 2.391476e-05
## GLD 4.390063e-06 7.114889e-06 2.703518e-06 1.397062e-06 3.117393e-06
## TLT IYR GLD
## SPY -2.575009e-06 5.695592e-05 4.390063e-06
## QQQ -1.442920e-08 6.598804e-05 7.114889e-06
## EEM -4.972136e-07 9.385237e-06 2.703518e-06
## IWM -3.356123e-06 4.030380e-05 1.397062e-06
## EFA -1.349275e-06 2.391476e-05 3.117393e-06
## TLT 1.000000e+00 3.059312e-06 2.329995e-06
## IYR 3.059312e-06 1.000000e+00 5.200149e-06
## GLD 2.329995e-06 5.200149e-06 1.000000e+00
## [,1]
## SPY 0.15452810
## QQQ 0.10950732
## EEM 0.09776899
## IWM 0.08485289
## EFA 0.12981529
## TLT 0.17486741
## IYR 0.11286063
## GLD 0.13579937