## Loading required package: lubridate
##
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
## Loading required package: PerformanceAnalytics
## Loading required package: xts
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
##
## Attaching package: 'PerformanceAnalytics'
## The following object is masked from 'package:graphics':
##
## legend
## Loading required package: quantmod
## Loading required package: TTR
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
## Loading required package: tidyverse
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ stringr 1.5.1
## ✔ forcats 1.0.0 ✔ tibble 3.2.1
## ✔ ggplot2 3.5.0 ✔ tidyr 1.3.1
## ✔ readr 2.1.5
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::first() masks xts::first()
## ✖ dplyr::lag() masks stats::lag()
## ✖ dplyr::last() masks xts::last()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
## Loading required package: magrittr
##
##
## Attaching package: 'magrittr'
##
##
## The following object is masked from 'package:tidyr':
##
## extract
##
##
## The following object is masked from 'package:purrr':
##
## set_names
## [[1]]
## [1] TRUE
##
## [[2]]
## [1] TRUE
##
## [[3]]
## [1] TRUE
##
## [[4]]
## [1] TRUE
##
## [[5]]
## [1] TRUE
##
## [[6]]
## [1] TRUE
##
## [[7]]
## [1] TRUE
##
## [[8]]
## [1] TRUE
##
## [[9]]
## [1] TRUE
##
## [[10]]
## [1] TRUE
##
## [[11]]
## [1] TRUE
##
## [[12]]
## [1] TRUE
Q1
## [1] "SPY" "QQQ" "EEM" "IWM" "EFA" "TLT" "IYR" "GLD"
## SPY QQQ EEM IWM EFA TLT IYR
## 2010-01-04 86.86006 40.73329 31.82712 52.51540 37.52379 61.13185 28.10298
## 2010-01-05 87.09001 40.73329 32.05812 52.33483 37.55685 61.52661 28.17046
## 2010-01-06 87.15132 40.48759 32.12519 52.28558 37.71560 60.70298 28.15819
## 2010-01-07 87.51918 40.51390 31.93889 52.67135 37.57008 60.80513 28.40972
## 2010-01-08 87.81040 40.84735 32.19226 52.95864 37.86773 60.77794 28.21954
## 2010-01-11 87.93306 40.68063 32.12519 52.74524 38.17862 60.44436 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
Q2
## SPY QQQ EEM IWM EFA TLT IYR
## 2010-01-04 86.86006 40.73329 31.82712 52.51540 37.52379 61.13185 28.10298
## 2010-01-05 87.09001 40.73329 32.05812 52.33483 37.55685 61.52661 28.17046
## 2010-01-06 87.15132 40.48759 32.12519 52.28558 37.71560 60.70298 28.15819
## 2010-01-07 87.51918 40.51390 31.93889 52.67135 37.57008 60.80513 28.40972
## 2010-01-08 87.81040 40.84735 32.19226 52.95864 37.86773 60.77794 28.21954
## 2010-01-11 87.93306 40.68063 32.12519 52.74524 38.17862 60.44436 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
## SPY QQQ EEM IWM EFA
## 2010-01-15 -0.008116784 -0.015037606 -0.02893504 -0.01301907 -0.003493271
## 2010-01-22 -0.038982960 -0.036859003 -0.05578076 -0.03062177 -0.055740725
## 2010-01-29 -0.016664885 -0.031024146 -0.03357763 -0.02624369 -0.025802810
## 2010-02-05 -0.006797704 0.004440427 -0.02821288 -0.01397445 -0.019054783
## 2010-02-12 0.012938285 0.018148357 0.03333357 0.02952613 0.005244604
## 2010-02-19 0.028693327 0.024451359 0.02445355 0.03343193 0.022995315
## TLT IYR GLD
## 2010-01-15 2.004673e-02 -0.006304288 -0.004579349
## 2010-01-22 1.010075e-02 -0.041785430 -0.033285246
## 2010-01-29 3.369553e-03 -0.008447234 -0.011290465
## 2010-02-05 -5.366866e-05 0.003223523 -0.012080019
## 2010-02-12 -1.946121e-02 -0.007574001 0.022544905
## 2010-02-19 -8.205440e-03 0.050184944 0.022701796
## SPY QQQ EEM IWM EFA
## 2010-02-26 0.03119435 0.04603914 0.017764086 0.04475105 0.002667887
## 2010-03-31 0.06087966 0.07710913 0.081108729 0.08230751 0.063853993
## 2010-04-30 0.01547051 0.02242558 -0.001661758 0.05678423 -0.028045689
## 2010-05-28 -0.07945464 -0.07392394 -0.093935881 -0.07536620 -0.111928077
## 2010-06-30 -0.05174108 -0.05975693 -0.013986188 -0.07743395 -0.020619231
## 2010-07-30 0.06830053 0.07258296 0.109324343 0.06730903 0.116103980
## TLT IYR GLD
## 2010-02-26 -0.003424170 0.05457023 0.032748219
## 2010-03-31 -0.020574000 0.09748482 -0.004386396
## 2010-04-30 0.033218295 0.06388113 0.058834363
## 2010-05-28 0.051083787 -0.05683536 0.030513147
## 2010-06-30 0.057978294 -0.04670085 0.023553189
## 2010-07-30 -0.009462845 0.09404807 -0.050871157
Q3
## Warning: One or more parsing issues, call `problems()` on your data frame for details,
## e.g.:
## dat <- vroom(...)
## problems(dat)
## Rows: 1274 Columns: 4
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): date
## dbl (3): Mkt-RF, SMB, HML
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
## Warning in lapply(fama_french_data, as.numeric): NAs introduced by coercion
## List of 4
## $ date : num [1:1272] 201002 201003 201004 201005 201006 ...
## $ Mkt-RF: num [1:1272] 3.4 6.31 2 -7.89 -5.57 6.93 -4.77 9.54 3.88 0.6 ...
## $ SMB : num [1:1272] 1.19 1.48 4.87 0.09 -1.82 0.2 -3 3.96 1.14 3.77 ...
## $ HML : num [1:1272] 3.23 2.21 2.89 -2.44 -4.7 -0.31 -1.9 -3.16 -2.43 -0.96 ...
## Warning: One or more parsing issues, call `problems()` on your data frame for details,
## e.g.:
## dat <- vroom(...)
## problems(dat)
## Rows: 1274 Columns: 4
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): date
## dbl (3): Mkt-RF, SMB, HML
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
## # A tibble: 6 × 4
## date `Mkt-RF` SMB HML
## <chr> <dbl> <dbl> <dbl>
## 1 201001 -3.36 0.4 0.43
## 2 201002 3.4 1.19 3.23
## 3 201003 6.31 1.48 2.21
## 4 201004 2 4.87 2.89
## 5 201005 -7.89 0.09 -2.44
## 6 201006 -5.57 -1.82 -4.7
## Warning: There was 1 warning in `mutate()`.
## ℹ In argument: `date = ymd(parse_date(date, format = "%Y%m"))`.
## Caused by warning:
## ! 99 parsing failures.
## row col expected actual
## 1174 -- date like %Y%m Annual Factors: January-December
## 1176 -- date like %Y%m 1927
## 1177 -- date like %Y%m 1928
## 1178 -- date like %Y%m 1929
## 1179 -- date like %Y%m 1930
## .... ... .............. ................................
## See problems(...) for more details.
## # A tibble: 6 × 4
## date `MKT-RF` SMB HML
## <date> <dbl> <dbl> <dbl>
## 1 2009-12-31 -3.36 0.4 0.43
## 2 2010-01-31 3.4 1.19 3.23
## 3 2010-02-28 6.31 1.48 2.21
## 4 2010-03-31 2 4.87 2.89
## 5 2010-04-30 -7.89 0.09 -2.44
## 6 2010-05-31 -5.57 -1.82 -4.7
Q4 Merge
## date MKT-RF SMB HML SPY QQQ EEM IWM
## 171985 <NA> 23.66 13.18 -46.67 0.04170763 0.06727679 0.002062279 0.0009051669
## 171986 <NA> 23.56 -3.89 25.49 0.04170763 0.06727679 0.002062279 0.0009051669
## 171987 <NA> -21.60 -6.95 25.81 0.04170763 0.06727679 0.002062279 0.0009051669
## 171988 <NA> 21.70 -3.23 -13.58 0.04170763 0.06727679 0.002062279 0.0009051669
## 171989 <NA> NA NA NA 0.04170763 0.06727679 0.002062279 0.0009051669
## 171990 <NA> NA NA NA 0.04170763 0.06727679 0.002062279 0.0009051669
## EFA TLT IYR GLD
## 171985 0.02820627 0.02376817 0.03371758 0.02169283
## 171986 0.02820627 0.02376817 0.03371758 0.02169283
## 171987 0.02820627 0.02376817 0.03371758 0.02169283
## 171988 0.02820627 0.02376817 0.03371758 0.02169283
## 171989 0.02820627 0.02376817 0.03371758 0.02169283
## 171990 0.02820627 0.02376817 0.03371758 0.02169283
## # A tibble: 6 × 12
## date `MKT-RF` SMB HML SPY QQQ EEM IWM EFA TLT
## <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2009-12-31 -3.36 0.4 0.43 0.0312 0.0460 0.0178 0.0448 0.00267 -0.00342
## 2 2010-01-31 3.4 1.19 3.23 0.0312 0.0460 0.0178 0.0448 0.00267 -0.00342
## 3 2010-02-28 6.31 1.48 2.21 0.0312 0.0460 0.0178 0.0448 0.00267 -0.00342
## 4 2010-03-31 2 4.87 2.89 0.0312 0.0460 0.0178 0.0448 0.00267 -0.00342
## 5 2010-04-30 -7.89 0.09 -2.44 0.0312 0.0460 0.0178 0.0448 0.00267 -0.00342
## 6 2010-05-31 -5.57 -1.82 -4.7 0.0312 0.0460 0.0178 0.0448 0.00267 -0.00342
## # ℹ 2 more variables: IYR <dbl>, GLD <dbl>
Q5
## # A tibble: 6 × 12
## date `MKT-RF` SMB HML SPY QQQ EEM IWM EFA TLT
## <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2019-03-31 3.97 -1.74 2.15 0.0312 0.0460 0.0178 0.0448 0.00267 -0.00342
## 2 2019-04-30 -6.94 -1.32 -2.37 0.0312 0.0460 0.0178 0.0448 0.00267 -0.00342
## 3 2019-05-31 6.93 0.29 -0.71 0.0312 0.0460 0.0178 0.0448 0.00267 -0.00342
## 4 2019-06-30 1.19 -1.93 0.48 0.0312 0.0460 0.0178 0.0448 0.00267 -0.00342
## 5 2019-07-31 -2.58 -2.38 -4.78 0.0312 0.0460 0.0178 0.0448 0.00267 -0.00342
## 6 2019-08-31 1.43 -0.96 6.75 0.0312 0.0460 0.0178 0.0448 0.00267 -0.00342
## # ℹ 2 more variables: IYR <dbl>, GLD <dbl>
## Warning: Unknown or uninitialised column: `RF`.
## Unknown or uninitialised column: `RF`.
## Unknown or uninitialised column: `RF`.
## Unknown or uninitialised column: `RF`.
## Unknown or uninitialised column: `RF`.
## Unknown or uninitialised column: `RF`.
## Unknown or uninitialised column: `RF`.
## Unknown or uninitialised column: `RF`.
Q6
## # A tibble: 6 × 7
## QQQ EEM IWM EFA TLT IYR GLD
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 0.0460 0.0178 0.0448 0.00267 -0.00342 0.0546 0.0327
## 2 0.0460 0.0178 0.0448 0.00267 -0.00342 0.0546 0.0327
## 3 0.0460 0.0178 0.0448 0.00267 -0.00342 0.0546 0.0327
## 4 0.0460 0.0178 0.0448 0.00267 -0.00342 0.0546 0.0327
## 5 0.0460 0.0178 0.0448 0.00267 -0.00342 0.0546 0.0327
## 6 0.0460 0.0178 0.0448 0.00267 -0.00342 0.0546 0.0327
Q7
## # A tibble: 1 × 12
## date `MKT-RF` SMB HML SPY QQQ EEM IWM EFA TLT
## <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 NA NA NA NA 0.0417 0.0673 0.00206 0.000905 0.0282 0.0238
## # ℹ 2 more variables: IYR <dbl>, GLD <dbl>
## # A tibble: 1 × 7
## QQQ EEM IWM EFA TLT IYR GLD
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 0.0673 0.00206 0.000905 0.0282 0.0238 0.0337 0.0217