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.73327 31.82711 52.51540 37.52378 60.71097 28.10298
## 2010-01-05 87.09000 40.73327 32.05812 52.33483 37.55685 61.10308 28.17047
## 2010-01-06 87.15129 40.48757 32.12519 52.28559 37.71561 60.28508 28.15819
## 2010-01-07 87.51921 40.51388 31.93890 52.67136 37.57008 60.38649 28.40971
## 2010-01-08 87.81044 40.84736 32.19226 52.95863 37.86774 60.35949 28.21954
## 2010-01-11 87.93310 40.68062 32.12519 52.74523 38.17862 60.02823 28.35450
## 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.73327 31.82711 52.51540 37.52378 60.71097 28.10298
## 2010-01-05 87.09000 40.73327 32.05812 52.33483 37.55685 61.10308 28.17047
## 2010-01-06 87.15129 40.48757 32.12519 52.28559 37.71561 60.28508 28.15819
## 2010-01-07 87.51921 40.51388 31.93890 52.67136 37.57008 60.38649 28.40971
## 2010-01-08 87.81044 40.84736 32.19226 52.95863 37.86774 60.35949 28.21954
## 2010-01-11 87.93310 40.68062 32.12519 52.74523 38.17862 60.02823 28.35450
## 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.008150601 -0.015151625 -0.02936203 -0.01310478 -0.003499690
## 2010-01-22 -0.039762693 -0.037556138 -0.05739696 -0.03110020 -0.057354180
## 2010-01-29 -0.016805488 -0.031515088 -0.03415371 -0.02659375 -0.026141646
## 2010-02-05 -0.006821007 0.004430798 -0.02861898 -0.01407309 -0.019238775
## 2010-02-12 0.012855578 0.017985138 0.03278985 0.02909825 0.005231234
## 2010-02-19 0.028288930 0.024157310 0.02415974 0.03288524 0.022734791
## TLT IYR GLD
## 2010-01-15 1.984813e-02 -0.006324314 -0.004589867
## 2010-01-22 1.005034e-02 -0.042683138 -0.033851808
## 2010-01-29 3.363696e-03 -0.008483257 -0.011354686
## 2010-02-05 -5.404219e-05 0.003218624 -0.012153575
## 2010-02-12 -1.965233e-02 -0.007603475 0.022294524
## 2010-02-19 -8.238809e-03 0.048966649 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.03071797 0.04501048 0.017607814 0.04377884 0.002664225
## 2010-03-31 0.05909833 0.07428091 0.077987050 0.07909456 0.061898157
## 2010-04-30 0.01535164 0.02217755 -0.001662958 0.05523135 -0.028446480
## 2010-05-28 -0.08278894 -0.07679883 -0.098645386 -0.07835796 -0.118702247
## 2010-06-30 -0.05312751 -0.06161676 -0.014085325 -0.08059623 -0.020834952
## 2010-07-30 0.06606928 0.07006953 0.103751723 0.06514069 0.109843801
## TLT IYR GLD
## 2010-02-26 -0.003430556 0.05313332 0.032223422
## 2010-03-31 -0.020787431 0.09302110 -0.004396045
## 2010-04-30 0.032678413 0.06192367 0.057168645
## 2010-05-28 0.049822159 -0.05851417 0.030056879
## 2010-06-30 0.056359320 -0.04782677 0.023280093
## 2010-07-30 -0.009508752 0.08988441 -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.022707353 -0.052324523 -0.014330371
## 2024-02-29 -0.022779484 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.259568091 -0.255856713 -0.268135401 -0.262252287 -0.265459883
## 0.003088849 0.003088849 0.003088849 0.003088849 0.003088849
## tlt_rf iyr_rf gld_rf
## one.vec -0.268164590 -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.58088051
## qqq_rf 0.98030183
## eem_rf -0.36111138
## iwm_rf 0.27759947
## efa_rf -0.07056341
## tlt_rf -0.37135684
## iyr_rf 0.13622854
## gld_rf -0.17197872
## # 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.001782446 0.002514705 0.002818131 0.003246166 0.002122232 0.001575751
## IYR GLD
## 0.002440871 0.002029005
## SPY QQQ EEM IWM EFA
## SPY 0.0017815872 1.949330e-03 0.0016256263 0.0021343254 0.0017034184
## QQQ 0.0019493298 2.513494e-03 0.0017485820 0.0022184458 0.0018077286
## EEM 0.0016256263 1.748582e-03 0.0028167730 0.0020930648 0.0020600505
## IWM 0.0021343254 2.218446e-03 0.0020930648 0.0032446026 0.0020655945
## EFA 0.0017034184 1.807729e-03 0.0020600505 0.0020655945 0.0021212099
## TLT -0.0001804641 -8.928701e-07 -0.0002112621 -0.0004222711 -0.0002268046
## IYR 0.0016158804 1.655386e-03 0.0016142757 0.0020528427 0.0016273203
## GLD 0.0001932109 2.768823e-04 0.0007213619 0.0001103875 0.0003290724
## TLT IYR GLD
## SPY -1.804641e-04 0.0016158804 0.0001932109
## QQQ -8.928701e-07 0.0016553865 0.0002768823
## EEM -2.112621e-04 0.0016142757 0.0007213619
## IWM -4.222711e-04 0.0020528427 0.0001103875
## EFA -2.268046e-04 0.0016273203 0.0003290724
## TLT 1.574992e-03 0.0003986696 0.0004710134
## IYR 3.986696e-04 0.0024396953 0.0004255513
## GLD 4.710134e-04 0.0004255513 0.0020280272
## SPY QQQ EEM IWM EFA
## SPY 1.000000e+00 1.444855e-04 1.757362e-05 7.791546e-05 4.654652e-05
## QQQ 1.444855e-04 1.000000e+00 2.137781e-05 9.159013e-05 5.586450e-05
## EEM 1.757362e-05 2.137781e-05 1.000000e+00 1.260329e-05 9.285003e-06
## IWM 7.791546e-05 9.159013e-05 1.260329e-05 1.000000e+00 3.143922e-05
## EFA 4.654652e-05 5.586450e-05 9.285003e-06 3.143922e-05 1.000000e+00
## TLT -2.574992e-06 -1.440822e-08 -4.972160e-07 -3.356119e-06 -1.349276e-06
## IYR 5.695586e-05 6.598808e-05 9.385237e-06 4.030378e-05 2.391476e-05
## GLD 4.390047e-06 7.114914e-06 2.703517e-06 1.397071e-06 3.117402e-06
## TLT IYR GLD
## SPY -2.574992e-06 5.695586e-05 4.390047e-06
## QQQ -1.440822e-08 6.598808e-05 7.114914e-06
## EEM -4.972160e-07 9.385237e-06 2.703517e-06
## IWM -3.356119e-06 4.030378e-05 1.397071e-06
## EFA -1.349276e-06 2.391476e-05 3.117402e-06
## TLT 1.000000e+00 3.059323e-06 2.329989e-06
## IYR 3.059323e-06 1.000000e+00 5.200160e-06
## GLD 2.329989e-06 5.200160e-06 1.000000e+00
## [,1]
## SPY 0.15452805
## QQQ 0.10950721
## EEM 0.09776889
## IWM 0.08485290
## EFA 0.12981531
## TLT 0.17486769
## IYR 0.11286057
## GLD 0.13579938