library(tidyquant)         
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
## ── Attaching core tidyquant packages ─────────────────────── tidyquant 1.0.11 ──
## ✔ PerformanceAnalytics 2.0.8      ✔ TTR                  0.24.4
## ✔ quantmod             0.4.27     ✔ xts                  0.14.1
## ── Conflicts ────────────────────────────────────────── tidyquant_conflicts() ──
## ✖ zoo::as.Date()                 masks base::as.Date()
## ✖ zoo::as.Date.numeric()         masks base::as.Date.numeric()
## ✖ PerformanceAnalytics::legend() masks graphics::legend()
## ✖ quantmod::summary()            masks base::summary()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(timetk)            
## 
## Attaching package: 'timetk'
## 
## The following object is masked from 'package:tidyquant':
## 
##     FANG
library(tidyverse)         
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.2     ✔ tibble    3.2.1
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── 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
library(PerformanceAnalytics) 
library(quadprog)
library(tseries) 
library(zoo)     
library(xts)     
library(quantmod)
library(ggplot2) 
library(reshape2)
## 
## Attaching package: 'reshape2'
## 
## The following object is masked from 'package:tidyr':
## 
##     smiths
library(corrplot)
## corrplot 0.95 loaded

Getting data - 20 stocks from 4 industries: Technology, Automotive, Financial, Helathcare + 1 commodity (gold), 1 crypto (Bitcoin), 1 ESG ETF (ESGU) and S&P 500 index ETF (SPY)

library(tidyquant)

tickers <- c("AAPL", "MSFT", "GOOGL", "AMZN", "NVDA",       # Tech
             "TSLA", "F", "GM", "APTV", "BWA",              # Automotive
             "JPM", "BAC", "WFC", "GS", "MS",               # Financials
             "JNJ", "PFE", "MRK", "ABBV", "UNH",            # Healthcare
             "GLD", "BTC-USD", "ESGU", "SPY")               # Commodity, Crypto, ESG, Market Index

prices <- tq_get(
  tickers,
  from = "2020-01-01",
  to = "2025-01-01",
  get = "stock.prices",
  periodicity = "weekly"
)
library(tidyr)
library(dplyr)

prices_wide <- prices %>%
  select(date, symbol, adjusted) %>%
  pivot_wider(names_from = symbol, values_from = adjusted) %>%
  arrange(date)

Getting Risk free rate data

library(quantmod)

# Getting 1-month T-Bill from FRED
getSymbols("DGS1MO", src = "FRED")
## [1] "DGS1MO"
rf_weekly <- mean(DGS1MO, na.rm = TRUE) / 100 / 52  # decimal, weeklyized
rf_annual <- mean(DGS1MO, na.rm = TRUE) / 100  # Convert to decimal and annualize
library(knitr)

rf_table <- data.frame(
  Frequency = c("Weekly", "Annual"),
  Risk_Free_Rate = c(rf_weekly, rf_annual)
)

kable(rf_table, digits = 6, caption = "Risk-Free Rate (Weekly vs. Annual)")
Risk-Free Rate (Weekly vs. Annual)
Frequency Risk_Free_Rate
Weekly 0.000307
Annual 0.015980

Weekly and annual log returns from Assignment 1

library(dplyr)
library(lubridate)
library(knitr)

# Compute weekly log returns
weekly_returns <- prices_wide %>%
  mutate(date = as.Date(date)) %>%
  arrange(date) %>%
  mutate(across(-date, ~ log(. / lag(.)))) %>%
  mutate(year = year(date)) %>%
  na.omit()

# Compute annual log returns by summing weekly returns
annual_log_returns <- weekly_returns %>%
  group_by(year) %>%
  summarize(across(where(is.numeric), sum, .names = "{.col}")) %>%
  ungroup()

# Show table
kable(annual_log_returns, caption = "Annual Log Returns", digits = 4)
Annual Log Returns
year AAPL MSFT GOOGL AMZN NVDA TSLA F GM APTV BWA JPM BAC WFC GS MS JNJ PFE MRK ABBV UNH GLD BTC-USD ESGU SPY
2020 0.5718 0.3346 0.2209 0.5235 0.8058 2.0587 -0.0502 0.1820 0.3829 -0.0662 -0.0426 -0.1081 -0.5057 0.1640 0.3406 0.1150 0.0515 -0.0639 0.2346 0.1901 0.2118 1.4264 0.1932 0.1588
2021 0.3222 0.4204 0.5066 0.0402 0.7825 0.4471 1.0384 0.4562 0.2554 0.2221 0.3143 0.4802 0.5604 0.4255 0.4293 0.1023 0.4211 0.0308 0.2852 0.3672 -0.0755 0.3003 0.2477 0.2648
2022 -0.3566 -0.3079 -0.4826 -0.6689 -0.7150 -1.2655 -0.7009 -0.6602 -0.6167 -0.1573 -0.1857 -0.3361 -0.2097 -0.1369 -0.1612 0.0667 -0.0299 0.3985 0.2217 0.0677 0.0087 -1.0122 -0.2334 -0.2102
2023 0.4005 0.4458 0.4385 0.5579 1.2138 0.8321 0.1401 0.0745 -0.0304 0.0267 0.2712 0.0422 0.1967 0.1459 0.1292 -0.0780 -0.5004 0.0463 0.0237 0.0541 0.1088 0.9915 0.2263 0.2311
2024 0.3042 0.1354 0.3185 0.3807 1.0256 0.4859 -0.1380 0.4008 -0.3994 -0.1096 0.3551 0.2848 0.3795 0.4124 0.3276 -0.0697 -0.0545 -0.1026 0.1420 -0.0486 0.2387 0.7315 0.2245 0.2278
kable(weekly_returns, caption = "Weekly Log Returns", digits = 4)
Weekly Log Returns
date AAPL MSFT GOOGL AMZN NVDA TSLA F GM APTV BWA JPM BAC WFC GS MS JNJ PFE MRK ABBV UNH GLD BTC-USD ESGU SPY year
2020-01-08 0.0468 0.0285 0.0251 -0.0198 0.0302 0.1370 0.0043 0.0000 -0.0242 -0.0169 0.0277 0.0200 -0.0659 0.0423 0.0374 0.0106 0.0335 0.0082 -0.0078 -0.0054 -0.0155 0.0782 0.0168 0.0145 2020
2020-01-15 0.0124 0.0266 0.0355 0.0120 0.0027 0.0171 -0.0086 -0.0046 0.0221 -0.0299 -0.0142 -0.0305 -0.0073 0.0002 0.0563 0.0186 0.0067 0.0004 0.0110 0.0418 0.0072 -0.0093 0.0124 0.0117 2020
2020-01-22 0.0035 -0.0063 -0.0217 -0.0207 0.0001 0.0354 -0.0264 -0.0393 -0.0151 -0.1337 -0.0178 -0.0302 -0.0326 -0.0128 -0.0346 0.0015 -0.0561 -0.0422 -0.0491 -0.0500 0.0063 0.0677 -0.0117 -0.0134 2020
2020-01-29 0.0036 0.0849 -0.0035 0.1007 -0.0034 0.4477 0.0231 0.0215 0.0097 -0.0286 0.0064 0.0114 -0.0023 -0.0026 0.0000 0.0139 -0.0119 0.0242 0.0070 -0.0178 -0.0084 -0.0192 0.0101 0.0066 2020
2020-02-05 0.0024 0.0237 0.0438 0.0482 0.0807 -0.1358 -0.1083 0.0184 0.0055 -0.0093 0.0198 0.0336 0.0153 -0.0229 0.0386 0.0026 0.0207 -0.0358 0.1293 0.0348 0.0084 0.1061 0.0170 0.0187 2020
2020-02-12 0.0005 0.0150 0.0062 0.0023 0.1017 0.1030 -0.0050 -0.0173 -0.0309 0.0067 -0.0172 -0.0145 -0.0104 -0.0138 -0.0047 -0.0189 -0.0476 -0.0333 -0.0252 0.0383 0.0218 -0.0065 0.0048 0.0044 2020
2020-02-19 -0.1020 -0.1080 -0.0917 -0.0887 -0.1237 -0.0706 -0.1087 -0.0805 -0.0818 -0.1098 -0.0717 -0.0977 -0.0406 -0.0692 -0.1449 -0.0306 -0.0681 -0.0269 -0.0485 -0.1373 0.0157 -0.0822 -0.0735 -0.0742 2020
2020-02-26 0.0043 -0.0187 -0.0357 -0.0328 0.0145 -0.0704 -0.0366 -0.0395 -0.0067 0.0152 -0.0765 -0.1133 -0.1073 -0.0674 -0.0786 -0.0583 0.0108 -0.0143 -0.0182 -0.0076 0.0038 -0.0611 -0.0401 -0.0405 2020
2020-03-04 -0.0139 -0.0221 -0.0479 -0.0090 -0.0177 -0.1443 -0.1074 -0.1181 -0.1009 -0.1114 -0.1497 -0.1616 -0.1444 -0.0924 -0.1169 0.0437 0.0084 0.0359 -0.0005 0.0687 0.0038 -0.1053 -0.0424 -0.0402 2020
2020-03-11 -0.1208 -0.0934 -0.1315 -0.0454 -0.1837 -0.4055 -0.2227 -0.2765 -0.4106 -0.2205 -0.0714 -0.0652 -0.1688 -0.1500 -0.1561 -0.0363 -0.0728 -0.0964 -0.1812 -0.1367 -0.0733 -0.4145 -0.1246 -0.1318 2020
2020-03-18 -0.0239 0.0120 0.0106 0.0706 0.1370 0.1603 -0.0120 0.0381 0.0247 0.0222 -0.0585 -0.0442 -0.0243 -0.0325 -0.0170 -0.1363 -0.0796 -0.0675 -0.0788 -0.1010 0.0663 0.2537 -0.0354 -0.0389 2020
2020-03-25 0.0296 0.0613 0.0279 0.0049 0.0563 0.0369 -0.0245 -0.0158 -0.0057 0.0670 0.0179 0.0095 -0.0076 0.0064 0.0232 0.0956 0.0944 0.1082 0.1213 0.1263 -0.0355 -0.0450 0.0475 0.0642 2020
2020-04-01 0.0200 0.0360 0.0176 0.0312 -0.0175 0.0401 -0.0252 0.0247 0.0830 0.0122 0.0068 0.0420 0.0024 0.0713 0.0829 0.0473 0.0293 0.0208 -0.0106 -0.0054 0.0526 0.1085 0.0369 0.0282 2020
2020-04-08 0.1012 0.0606 0.0676 0.1267 0.0919 0.2635 0.1161 0.0759 0.1606 0.0973 0.0626 0.0694 0.0478 0.0710 0.0761 0.0603 0.0808 0.0530 0.0856 0.0867 0.0417 -0.0477 0.0696 0.0680 2020
2020-04-15 -0.0673 -0.0344 -0.0429 0.0194 -0.0522 -0.0332 -0.1035 -0.0787 -0.0738 -0.0638 -0.0699 -0.0922 -0.1173 -0.0251 -0.0758 0.0247 -0.0228 -0.0530 -0.0070 0.0135 -0.0253 0.0055 -0.0412 -0.0386 2020
2020-04-22 0.0373 0.0118 0.0167 -0.0060 0.0780 0.1133 0.1203 0.0433 0.1334 0.1126 0.0677 0.0989 0.0729 0.0732 0.0826 0.0114 0.0623 0.0328 0.0294 0.0504 0.0140 0.1264 0.0472 0.0454 2020
2020-04-29 0.0659 0.0625 0.0903 0.0016 0.0081 -0.0012 -0.0793 -0.0424 -0.0157 -0.0573 -0.0351 -0.0529 -0.0925 -0.0477 -0.0551 -0.0126 0.0157 -0.0398 0.0310 0.0161 0.0011 0.1425 0.0031 0.0016 2020
2020-05-06 0.0455 0.0096 0.0192 0.0167 0.0606 0.0522 0.0020 0.0594 -0.0175 0.0457 -0.0555 -0.0355 -0.0906 -0.0061 0.0203 -0.0159 -0.0303 -0.0106 0.0579 -0.0184 -0.0061 -0.0223 0.0053 0.0017 2020
2020-05-13 0.0082 0.0061 -0.0006 0.0384 0.1209 -0.0017 0.0623 0.0902 0.0818 0.0235 0.0187 0.0154 0.0164 0.0035 0.0234 0.0127 0.0184 0.0047 0.0081 0.0047 0.0260 0.0999 0.0175 0.0183 2020
2020-05-20 0.0114 -0.0113 0.0336 -0.0113 -0.0100 0.0134 0.0970 0.1041 0.0780 0.0871 0.0775 0.0891 0.0921 0.0976 0.1051 -0.0304 -0.0051 -0.0037 -0.0054 0.0200 -0.0207 -0.0964 0.0252 0.0241 2020
2020-05-27 0.0207 0.0210 0.0146 0.0207 0.0123 0.0738 0.0102 0.0004 0.0513 0.0740 0.0319 0.0228 0.0425 0.0404 0.0423 0.0321 -0.0361 0.0453 0.0036 0.0380 0.0106 0.0757 0.0304 0.0296 2020
2020-06-03 0.0619 0.0261 0.0068 0.0506 0.0247 0.0649 0.2047 0.0856 -0.0482 0.0821 0.1110 0.1276 0.1747 0.0724 0.1005 -0.0156 0.0014 0.0174 0.0548 0.0094 -0.0083 0.0275 0.0391 0.0404 2020
2020-06-10 0.0232 0.0197 -0.0039 0.0055 0.0029 0.0431 -0.1002 -0.0722 0.0032 -0.0869 -0.0798 -0.0827 -0.1346 -0.0398 -0.0372 -0.0103 -0.0808 -0.0665 -0.0011 -0.0538 0.0061 -0.0267 -0.0279 -0.0247 2020
2020-06-17 0.0402 0.0422 0.0120 0.0555 0.0412 0.0198 -0.0630 -0.0567 0.0337 0.0528 -0.0413 -0.0399 -0.0463 -0.0232 -0.0139 -0.0111 -0.0190 0.0099 0.0129 0.0156 0.0257 0.0096 0.0080 -0.0029 2020
2020-06-24 -0.0047 0.0079 -0.0319 -0.0020 0.0050 0.0750 -0.0114 -0.0369 -0.0107 -0.0034 -0.0403 -0.0429 -0.0617 -0.0356 0.0085 -0.0157 -0.0021 0.0027 0.0089 -0.0046 0.0053 -0.0524 -0.0080 -0.0075 2020
2020-07-01 0.0214 0.0230 0.0494 0.0838 0.0386 0.2524 0.0066 -0.0067 -0.0104 -0.0074 -0.0187 -0.0317 -0.0456 0.0088 -0.0169 0.0157 0.0399 0.0178 0.0118 0.0057 0.0099 0.0124 0.0174 0.0174 2020
2020-07-08 0.0409 0.0005 0.0206 0.0276 0.0499 0.0874 0.0385 0.0201 0.0139 0.0348 0.0715 0.0479 -0.0086 0.0709 0.0615 0.0349 0.0347 -0.0060 -0.0048 0.0392 0.0068 -0.0010 0.0162 0.0162 2020
2020-07-15 -0.0006 0.0019 0.0228 0.0175 -0.0047 0.0334 0.0491 0.0197 0.0460 0.0384 0.0121 0.0115 0.0773 -0.0093 0.0366 0.0122 0.0406 0.0081 -0.0028 -0.0111 0.0164 0.0141 0.0187 0.0189 2020
2020-07-22 -0.0394 -0.0328 -0.0342 -0.0450 -0.0110 -0.0604 0.0482 0.0069 0.0037 0.0210 -0.0212 -0.0025 -0.0259 -0.0503 -0.0413 -0.0196 0.0616 0.0101 -0.0071 -0.0171 0.0603 0.1519 -0.0127 -0.0119 2020
2020-07-29 0.1621 0.0543 -0.0204 0.0451 0.0945 0.0071 -0.0216 -0.0203 -0.0141 -0.0354 -0.0184 0.0263 -0.0527 0.0001 -0.0201 0.0027 -0.0163 0.0245 -0.0253 0.0151 0.0313 0.0265 0.0294 0.0273 2020
2020-08-05 -0.0026 -0.0476 0.0049 -0.0187 -0.0342 -0.0788 0.0525 0.1002 0.0921 0.1162 0.0830 0.0736 0.0444 0.0457 0.0568 -0.0017 -0.0060 -0.0093 -0.0173 0.0356 -0.0522 0.0181 0.0055 0.0083 2020
2020-08-12 0.0568 0.0391 0.0496 0.0726 0.1222 0.3170 -0.0482 0.0452 -0.0182 -0.0128 -0.0544 -0.0530 -0.0478 -0.0473 -0.0167 0.0210 0.0150 0.0441 0.0317 0.0040 0.0448 0.0496 0.0214 0.0174 2020
2020-08-19 0.0771 0.0233 0.0317 0.0102 0.0391 0.0697 0.0072 -0.0050 -0.0218 -0.0051 0.0219 0.0182 0.0234 0.0230 0.0219 0.0130 0.0013 0.0132 -0.0168 -0.0146 -0.0377 -0.0535 0.0165 0.0161 2020
2020-08-26 0.0723 0.0511 0.0302 0.0446 0.0807 0.1604 -0.0160 0.0034 0.0196 0.0140 -0.0036 -0.0112 -0.0230 -0.0026 0.0101 0.0031 -0.0406 -0.0147 -0.0195 0.0020 0.0209 0.0518 0.0267 0.0243 2020
2020-09-02 -0.1734 -0.1146 -0.0828 -0.1052 -0.1483 -0.3637 0.0289 0.0834 -0.0278 0.0048 -0.0022 -0.0090 -0.0033 -0.0086 -0.0469 -0.0285 -0.0261 -0.0131 -0.0221 -0.0180 -0.0205 -0.1668 -0.0626 -0.0566 2020
2020-09-09 0.0238 0.0298 0.0075 0.0020 0.0866 0.3090 0.0014 -0.0250 0.0158 0.0157 -0.0064 -0.0009 0.0373 -0.0224 0.0044 0.0110 0.0283 0.0105 0.0076 -0.0001 0.0118 0.0636 0.0232 0.0207 2020
2020-09-16 -0.0328 -0.0065 -0.0503 -0.0086 -0.0276 -0.0584 -0.0376 -0.0702 -0.0176 -0.1221 -0.0518 -0.0545 -0.0507 -0.0328 -0.0563 -0.0319 -0.0194 -0.0079 -0.0257 -0.0390 -0.0265 -0.0242 -0.0240 -0.0294 2020
2020-09-23 0.0202 -0.0008 0.0042 0.0051 0.0455 -0.0122 -0.0269 -0.0241 0.0840 0.0164 0.0114 -0.0071 -0.0166 0.0266 -0.0082 0.0196 -0.0022 -0.0126 -0.0195 0.0331 -0.0026 0.0286 0.0024 0.0102 2020
2020-09-30 -0.0082 -0.0065 -0.0103 -0.0144 0.0379 -0.0122 0.0560 0.0562 0.0275 0.0490 0.0276 0.0249 0.0388 0.0216 0.0105 -0.0055 0.0000 -0.0281 -0.0116 0.0333 -0.0050 -0.0224 0.0130 0.0077 2020
2020-10-07 0.0678 0.0791 0.0769 0.1051 0.0366 0.0760 0.1059 0.0472 0.0167 -0.0251 0.0370 0.0235 0.0229 0.0472 0.0550 0.0143 0.0200 0.0135 0.0223 0.0526 0.0024 0.0746 0.0452 0.0444 2020
2020-10-14 -0.0301 -0.0375 -0.0103 -0.0681 -0.0432 -0.0569 -0.0026 0.1107 0.0420 0.0087 -0.0041 -0.0330 -0.0812 -0.0133 0.0202 -0.0260 0.0159 -0.0307 -0.0416 -0.0245 0.0086 0.0420 -0.0191 -0.0195 2020
2020-10-21 -0.0078 -0.0065 0.0304 0.0213 -0.0184 0.0065 0.0230 -0.0201 -0.0397 -0.0456 -0.0104 -0.0121 -0.0444 -0.0612 -0.0576 -0.0097 -0.0016 -0.0036 -0.0049 -0.0090 -0.0013 0.1361 -0.0148 -0.0151 2020
2020-10-28 -0.0543 -0.0325 0.0288 -0.0752 -0.0286 -0.0018 -0.0051 0.0131 0.0555 -0.0325 0.0403 0.0346 0.0123 0.0114 0.0519 -0.0330 -0.0337 -0.0138 0.0615 0.0026 -0.0006 0.0215 -0.0078 -0.0065 2020
2020-11-04 0.0489 0.0219 0.0544 -0.0044 -0.0193 -0.0325 0.0615 0.1502 0.0670 0.0655 0.1194 0.1136 0.0908 0.0941 0.0929 0.0682 0.0665 0.0530 0.1169 0.0959 -0.0184 0.0918 0.0514 0.0522 2020
2020-11-11 0.0308 0.0162 0.0137 0.0326 0.0498 0.0734 0.0432 0.0217 0.0502 -0.0208 -0.0035 -0.0040 0.0391 0.0325 0.0534 0.0072 -0.0079 0.0048 0.0034 -0.0045 0.0048 0.1432 0.0200 0.0184 2020
2020-11-18 -0.0360 -0.0028 0.0013 -0.0056 -0.0352 0.2292 0.0770 0.1014 0.0612 0.0630 0.0602 0.0506 0.1333 0.0556 0.0783 -0.0374 0.0154 -0.0168 0.0468 -0.0468 -0.0399 0.0796 0.0110 0.0072 2020
2020-11-25 0.0635 0.0135 0.0177 0.0322 0.0328 0.0515 -0.0225 -0.0391 0.0045 -0.0445 -0.0295 -0.0101 -0.0194 -0.0231 -0.0050 0.0315 0.0740 0.0174 0.0008 0.0153 0.0035 -0.0161 0.0091 0.0077 2020
2020-12-02 0.0134 -0.0009 0.0089 -0.0134 -0.0030 0.1056 0.0011 -0.0199 0.0070 0.0207 0.0187 0.0083 0.0309 0.0341 0.0099 0.0274 0.0769 0.0198 0.0345 0.0194 0.0308 -0.0260 0.0130 0.0113 2020
2020-12-09 0.0278 -0.0087 -0.0281 -0.0038 0.0011 -0.0259 -0.0109 -0.0501 -0.0037 -0.0428 -0.0139 -0.0039 0.0269 0.0149 0.0006 -0.0065 -0.0948 -0.0330 -0.0463 -0.0202 -0.0089 0.0581 -0.0051 -0.0016 2020
2020-12-16 0.0308 0.0448 -0.0235 0.0130 -0.0062 0.0111 -0.0401 -0.0184 0.0196 0.0367 0.0112 0.0197 -0.0262 0.0311 0.0412 0.0142 -0.0522 -0.0054 -0.0002 -0.0138 0.0032 0.2028 0.0057 -0.0064 2020
2020-12-23 0.0224 0.0009 0.0216 0.0354 -0.0256 0.0393 0.0034 0.0162 0.0239 -0.0144 0.0271 0.0270 0.0279 0.0312 0.0159 0.0093 0.0084 0.0249 0.0183 0.0362 0.0106 0.1402 0.0080 0.0157 2020
2020-12-30 -0.0290 -0.0283 -0.0101 -0.0316 0.0350 0.0987 -0.0195 0.0022 0.0407 0.0106 0.0051 0.0083 0.0249 0.0489 0.0259 0.0269 0.0038 -0.0039 0.0170 -0.0074 0.0363 0.2170 -0.0004 -0.0004 2020
2021-01-06 -0.0170 -0.0137 -0.0015 -0.0308 0.0060 0.1446 0.1228 0.1379 0.1246 0.0552 0.1169 0.1065 0.1059 0.1093 0.0869 -0.0013 -0.0003 0.0242 0.0303 0.0358 -0.0490 -0.0020 0.0221 0.0198 2021
2021-01-13 -0.0076 0.0070 0.0267 0.0000 -0.0347 -0.0058 0.0242 0.1370 -0.0580 -0.0465 -0.0157 -0.0268 -0.0394 -0.0269 -0.0107 0.0290 -0.0122 0.0012 0.0216 -0.0146 -0.0089 0.0614 -0.0001 -0.0003 2021
2021-01-20 0.1133 0.0708 0.0669 0.0637 0.0310 0.0446 0.1104 -0.0524 -0.0494 0.1121 -0.0479 -0.0575 -0.0391 -0.0432 -0.0517 0.0462 0.0157 -0.0360 -0.0190 -0.0261 0.0060 -0.1021 0.0139 0.0135 2021
2021-01-27 -0.0588 0.0304 0.0058 0.0161 0.0090 -0.0117 -0.0299 0.0130 0.0402 -0.0614 0.0153 0.0029 -0.0203 0.0183 -0.0037 -0.0557 -0.0642 -0.0314 -0.0502 -0.0129 -0.0087 0.0864 -0.0044 -0.0059 2021
2021-02-03 0.0075 0.0176 0.0783 -0.0224 0.0508 -0.0271 0.0940 0.0614 0.0485 0.0373 0.0437 0.0600 0.0785 0.0459 0.0505 0.0307 0.0102 -0.0357 0.0185 -0.0272 -0.0002 0.2692 0.0233 0.0225 2021
2021-02-10 -0.0195 -0.0003 0.0169 -0.0110 0.0721 -0.0647 -0.0332 -0.0475 0.0449 0.0201 0.0357 0.0393 0.0481 0.0376 0.0241 -0.0072 -0.0080 -0.0106 -0.0115 -0.0153 -0.0226 0.0568 0.0063 0.0052 2021
2021-02-17 -0.0566 -0.0437 -0.0243 -0.0230 -0.0807 -0.1305 0.0069 -0.0450 -0.0224 0.0248 0.0404 0.0358 0.0654 0.0230 0.0189 -0.0284 -0.0227 0.0039 0.0197 0.0150 0.0052 -0.0077 -0.0155 -0.0123 2021
2021-02-24 -0.0059 0.0049 0.0021 -0.0318 -0.0534 -0.0179 0.0770 0.0570 0.0167 0.0294 -0.0040 0.0003 0.0000 0.0361 0.0416 -0.0027 -0.0119 -0.0229 0.0148 0.0154 -0.0405 -0.0092 -0.0043 -0.0025 2021
2021-03-03 -0.0327 -0.0004 -0.0118 -0.0103 -0.0684 -0.0189 0.0016 0.0099 -0.0720 0.0603 0.0121 0.0220 0.0263 0.0029 0.0007 -0.0083 0.0277 0.0176 -0.0099 0.0505 -0.0097 0.1251 -0.0019 0.0016 2021
2021-03-10 0.0363 0.0167 0.0211 0.0094 0.0601 0.0049 -0.0064 0.0442 0.0265 -0.0029 0.0110 0.0407 0.0315 0.0331 0.0207 0.0230 0.0393 0.0354 0.0372 0.0074 0.0093 0.0355 0.0229 0.0223 2021
2021-03-17 -0.0244 -0.0005 -0.0206 0.0147 -0.0167 -0.0220 -0.0227 -0.0169 -0.0549 -0.0961 -0.0267 -0.0199 -0.0286 -0.0295 -0.0423 -0.0063 -0.0132 0.0017 -0.0557 0.0420 -0.0033 -0.0370 -0.0132 -0.0163 2021
2021-03-24 -0.0218 -0.0244 0.0025 -0.0266 -0.0153 -0.0409 0.0203 0.0410 -0.0158 0.0491 0.0330 0.0551 0.0296 0.0007 -0.0004 0.0286 0.0210 0.0090 0.0184 0.0136 -0.0266 0.0736 0.0073 0.0166 2021
2021-03-31 0.0513 0.0668 0.0765 0.0537 0.0741 0.0844 0.0363 0.0570 0.0497 0.0030 -0.0126 0.0178 0.0116 -0.0150 0.0000 -0.0099 -0.0017 -0.0153 -0.0133 -0.0249 0.0352 -0.0124 0.0328 0.0284 2021
2021-04-07 0.0631 0.0420 0.0202 0.0532 0.1232 0.0973 -0.0573 -0.0573 -0.0216 0.0109 0.0160 -0.0094 -0.0015 0.0019 0.0055 -0.0242 0.0303 0.0084 0.0266 0.0274 0.0013 0.0873 0.0179 0.0165 2021
2021-04-14 -0.0099 -0.0009 0.0108 -0.0194 -0.0330 -0.0585 -0.0634 -0.0476 -0.0446 0.0158 -0.0318 -0.0320 0.0668 0.0127 -0.0286 0.0430 0.0491 0.0276 0.0075 0.0572 0.0185 -0.1173 -0.0024 -0.0017 2021
2021-04-21 0.0096 0.0143 0.0052 0.0245 0.0138 -0.0200 0.0869 0.0558 0.0829 0.0445 0.0132 0.0462 0.0582 0.0435 0.0587 -0.0200 -0.0150 -0.0155 0.0339 -0.0051 -0.0004 -0.0258 0.0126 0.0129 2021
2021-04-28 -0.0499 -0.0556 0.0069 -0.0314 -0.0693 -0.0452 -0.0904 -0.0635 -0.0487 -0.0327 0.0276 0.0277 0.0143 0.0092 0.0083 0.0277 0.0383 -0.0179 0.0218 0.0418 0.0010 -0.0314 -0.0074 -0.0046 2021
2021-05-05 -0.0153 -0.0063 -0.0161 -0.0269 -0.0031 -0.0874 0.0148 0.0070 0.0063 0.0629 0.0195 0.0138 -0.0004 0.0284 0.0315 0.0066 -0.0151 0.0192 0.0087 0.0009 0.0328 0.0613 -0.0041 -0.0034 2021
2021-05-12 -0.0068 -0.0129 -0.0033 0.0026 -0.0205 -0.0658 0.0472 0.0029 -0.0237 -0.0101 0.0237 0.0141 0.0268 0.0128 0.0239 0.0093 0.0274 0.0245 0.0200 -0.0032 0.0167 -0.2788 -0.0070 -0.0055 2021
2021-05-19 0.0163 0.0349 0.0434 0.0082 0.1101 0.0454 0.0537 0.0154 0.0325 -0.0264 -0.0031 -0.0036 -0.0166 -0.0001 0.0215 -0.0022 -0.0181 -0.0240 -0.0229 0.0065 0.0165 -0.1110 0.0171 0.0152 2021
2021-05-26 -0.0209 -0.0150 0.0077 -0.0125 0.0387 0.0313 0.1451 0.0497 0.0880 0.0615 0.0256 0.0214 0.0251 0.0480 0.0359 -0.0209 -0.0213 -0.0304 -0.0207 -0.0154 -0.0003 -0.0457 0.0035 0.0034 2021
2021-06-02 0.0196 0.0207 0.0072 0.0140 0.0708 -0.0331 0.0539 0.0691 0.0278 0.0151 -0.0063 -0.0009 -0.0138 0.0093 0.0074 -0.0130 0.0090 0.0092 0.0012 -0.0123 -0.0033 -0.0916 0.0081 0.0062 2021
2021-06-09 0.0226 0.0227 0.0124 0.0358 0.0188 -0.0070 -0.0411 -0.0499 -0.0144 -0.0284 -0.0614 -0.0312 -0.0250 -0.0355 -0.0228 0.0067 0.0189 0.0446 0.0306 -0.0036 -0.0186 0.1883 0.0032 0.0052 2021
2021-06-16 0.0329 0.0273 0.0075 0.0355 0.0601 0.0398 -0.0060 -0.0262 -0.0347 -0.0716 -0.0326 -0.0349 -0.0432 -0.0378 -0.0567 -0.0053 0.0005 0.0150 -0.0098 -0.0040 -0.0458 -0.2176 0.0029 -0.0032 2021
2021-06-23 0.0174 0.0219 -0.0005 -0.0165 0.0586 0.0875 0.0067 -0.0069 0.0430 -0.0027 0.0258 0.0228 0.0283 0.0413 0.0560 0.0025 -0.0130 0.0133 -0.0211 0.0022 -0.0086 0.0984 0.0131 0.0141 2021
2021-06-30 0.0409 0.0228 0.0315 0.0639 0.0330 -0.0316 -0.0346 -0.0236 -0.0044 -0.0112 -0.0047 -0.0203 -0.0295 -0.0074 -0.0048 0.0237 0.0048 0.0116 0.0301 0.0301 0.0198 -0.0466 0.0107 0.0122 2021
2021-07-07 0.0252 0.0119 0.0091 0.0004 -0.0219 0.0135 -0.0055 0.0219 -0.0004 -0.0055 0.0202 -0.0053 -0.0060 0.0164 0.0327 0.0077 0.0091 -0.0064 0.0187 0.0200 0.0065 -0.0458 0.0057 0.0061 2021
2021-07-14 0.0035 -0.0059 -0.0089 -0.0287 -0.0843 -0.0121 -0.0360 -0.0449 -0.0282 -0.0112 -0.0389 -0.0560 0.0366 -0.0303 -0.0096 -0.0049 0.0347 -0.0187 -0.0159 -0.0134 0.0010 -0.0927 -0.0094 -0.0105 2021
2021-07-21 0.0042 0.0255 0.0441 0.0148 0.0315 -0.0241 -0.0087 -0.0207 0.0369 0.0072 0.0116 0.0077 0.0067 0.0273 0.0441 0.0247 0.0253 0.0218 0.0274 0.0051 -0.0056 0.2792 0.0178 0.0183 2021
2021-07-28 0.0040 0.0020 0.0279 -0.0744 0.0311 0.0960 0.0165 0.0510 0.0625 0.0412 0.0095 0.0149 0.0368 0.0146 0.0012 0.0100 0.0816 -0.0187 -0.0146 0.0162 0.0062 -0.0323 0.0039 0.0049 2021
2021-08-04 -0.0120 -0.0024 0.0086 -0.0136 0.0061 0.0004 -0.0144 -0.0646 0.0037 -0.0735 0.0408 0.0720 0.0581 0.0701 0.0621 -0.0036 0.0625 -0.0161 -0.0124 -0.0243 -0.0466 0.1780 0.0028 0.0035 2021
2021-08-11 0.0325 0.0229 -0.0011 -0.0240 -0.0243 -0.0644 -0.0619 -0.0724 -0.0702 -0.0258 -0.0142 -0.0082 -0.0144 -0.0074 0.0081 0.0323 0.0452 0.0473 0.0413 0.0240 0.0316 -0.0197 0.0023 0.0031 2021
2021-08-18 -0.0038 0.0320 0.0331 0.0195 0.1133 0.0623 0.0069 -0.0180 -0.0039 -0.0295 0.0042 0.0094 -0.0072 0.0088 0.0021 -0.0230 -0.0413 -0.0142 0.0002 0.0039 0.0100 0.0652 0.0101 0.0088 2021
2021-08-25 0.0147 -0.0005 0.0240 0.0487 0.0268 0.0377 -0.0038 -0.0114 -0.0352 -0.0165 0.0144 0.0065 -0.0566 0.0120 0.0129 -0.0070 -0.0489 -0.0186 0.0091 -0.0170 0.0061 -0.0114 0.0086 0.0080 2021
2021-09-01 0.0315 -0.0056 -0.0029 0.0110 0.0125 0.0231 -0.0062 -0.0059 -0.0104 0.0128 -0.0046 -0.0104 -0.0309 -0.0029 -0.0024 -0.0047 0.0147 -0.0041 -0.1023 0.0119 -0.0117 -0.0076 -0.0001 -0.0002 2021
2021-09-08 -0.0562 -0.0013 -0.0121 -0.0170 -0.0187 -0.0113 -0.0070 0.0406 -0.0052 -0.0026 -0.0135 -0.0314 0.0385 -0.0163 -0.0220 -0.0446 -0.0446 -0.0523 -0.0237 -0.0209 0.0066 0.0060 -0.0166 -0.0163 2021
2021-09-15 -0.0322 -0.0168 -0.0249 -0.0313 -0.0458 -0.0069 -0.0070 -0.0274 -0.0516 -0.0329 -0.0264 -0.0180 -0.0044 -0.0715 -0.0361 -0.0016 -0.0178 0.0070 0.0063 0.0030 -0.0166 -0.1460 -0.0205 -0.0240 2021
2021-09-22 -0.0107 -0.0390 -0.0233 -0.0083 -0.0261 0.0503 0.1139 0.0681 0.0804 0.0735 0.0822 0.0980 0.0015 0.0357 0.0373 -0.0105 -0.0202 0.0186 0.0018 -0.0338 -0.0243 0.0083 -0.0046 0.0034 2021
2021-09-29 -0.0057 0.0183 0.0014 -0.0291 -0.0121 0.0039 -0.0014 0.0278 0.0249 0.0133 0.0154 0.0243 0.0435 -0.0095 -0.0282 -0.0200 -0.0169 0.1070 0.0200 -0.0131 0.0156 0.2275 0.0008 -0.0014 2021
2021-10-06 0.0028 0.0142 0.0031 0.0081 0.0107 0.0317 0.0903 0.0816 0.0306 0.0430 -0.0138 -0.0155 -0.0277 0.0019 -0.0144 -0.0119 -0.0112 -0.0249 -0.0086 0.0246 0.0004 0.0842 0.0027 0.0012 2021
2021-10-13 0.0500 0.0511 0.0485 0.0588 0.0754 0.0701 -0.0142 -0.0364 0.0216 -0.0322 0.0192 0.0653 0.0761 0.0642 0.0398 0.0384 0.0057 -0.0013 -0.0104 0.0511 0.0048 0.1369 0.0399 0.0385 2021
2021-10-20 0.0038 0.0061 -0.0278 -0.0200 0.1034 0.1641 0.0332 0.0091 0.0155 -0.0396 0.0166 0.0313 0.0057 0.0131 0.0168 0.0114 0.0343 0.0341 0.0309 0.0689 0.0134 -0.0626 0.0105 0.0117 2021
2021-10-27 0.0047 0.0716 0.0430 -0.0189 0.0659 0.1404 0.1221 -0.0315 0.0316 0.0661 -0.0054 -0.0017 0.0131 0.0148 0.0114 -0.0010 0.0425 0.0791 0.0623 -0.0057 -0.0031 0.0463 0.0123 0.0129 2021
2021-11-03 0.0053 0.0084 0.0237 0.0765 0.1495 -0.1355 0.1108 0.0531 -0.0123 -0.0118 -0.0159 -0.0211 -0.0279 -0.0446 -0.0416 -0.0188 0.0399 -0.0734 -0.0079 0.0269 0.0244 0.0576 0.0115 0.0118 2021
2021-11-10 0.0027 0.0105 -0.0070 -0.0100 -0.0149 0.0301 -0.0165 0.0658 0.0124 0.0400 -0.0145 0.0043 0.0134 -0.0056 0.0098 0.0010 0.0562 0.0167 0.0070 -0.0322 0.0095 -0.1072 0.0039 0.0041 2021
2021-11-17 0.0667 -0.0054 -0.0143 0.0110 0.0498 0.0502 0.0205 0.0070 -0.0251 -0.0137 0.0175 0.0089 0.0202 0.0080 0.0116 -0.0122 0.0294 -0.0157 0.0209 -0.0056 -0.0332 -0.0440 -0.0064 -0.0023 2021
2021-11-24 0.0238 -0.0194 -0.0270 -0.0206 0.0289 0.0317 -0.0463 -0.0857 -0.0602 -0.0981 -0.0578 -0.0659 -0.0730 -0.0644 -0.0716 -0.0235 0.0506 -0.1001 -0.0308 -0.0065 -0.0107 -0.0098 -0.0265 -0.0273 2021
2021-12-01 0.0350 0.0130 0.0372 0.0046 -0.0076 -0.0847 0.0393 0.0613 0.0443 0.0549 0.0233 0.0054 0.0504 0.0490 0.0779 0.0465 -0.0381 -0.0357 0.0526 0.0451 0.0079 -0.1172 0.0250 0.0275 2021
2021-12-08 0.0182 -0.0198 -0.0231 -0.0410 -0.1347 -0.0928 0.0045 -0.0522 -0.0414 -0.0211 -0.0214 -0.0083 -0.0274 -0.0234 -0.0366 0.0415 0.0713 0.0197 0.0465 0.0345 -0.0082 -0.0841 -0.0172 -0.0106 2021
2021-12-15 -0.0077 -0.0032 -0.0030 0.0078 0.0257 -0.0211 -0.0222 -0.0638 -0.0176 -0.0396 -0.0193 0.0014 -0.0223 -0.0221 -0.0107 -0.0183 0.0596 0.0338 0.0207 0.0160 0.0095 0.0487 0.0065 -0.0006 2021
2021-12-22 0.0358 0.0418 0.0222 0.0014 0.0420 0.1482 0.0570 0.0415 0.0288 0.0465 0.0162 0.0115 0.0127 0.0190 0.0223 0.0186 -0.0161 0.0167 0.0336 0.0318 0.0097 -0.0279 0.0285 0.0329 2021
2021-12-29 0.0023 -0.0365 -0.0157 -0.0186 -0.0346 0.0546 0.1579 0.1407 0.0572 0.0651 0.0563 0.0710 0.0857 0.0500 0.0420 0.0043 -0.0619 0.0026 0.0057 -0.0242 0.0055 -0.0362 -0.0007 0.0014 2021
2022-01-05 -0.0260 -0.0436 -0.0328 -0.0130 -0.0516 -0.0770 0.0016 -0.0673 -0.0754 0.0135 -0.0020 0.0251 0.0609 -0.0109 0.0158 0.0010 0.0388 0.0588 0.0133 -0.0456 0.0042 -0.0714 -0.0180 -0.0165 2022
2022-01-12 -0.0306 -0.0399 -0.0271 -0.0398 -0.0713 -0.0324 0.0012 -0.0444 -0.0656 0.0078 -0.0959 -0.0618 0.0112 -0.1286 -0.1193 -0.0245 -0.0466 -0.0016 -0.0014 -0.0172 -0.0053 -0.0085 -0.0322 -0.0286 2022
2022-01-19 -0.0608 -0.0479 -0.0690 -0.1268 -0.1487 -0.1152 -0.1990 -0.1247 -0.0956 -0.1032 -0.0318 -0.0181 -0.0562 -0.0369 0.0521 0.0032 -0.0294 -0.0258 -0.0170 -0.0090 0.0187 -0.1369 -0.0502 -0.0494 2022
2022-01-26 0.0888 0.0679 0.0810 0.0770 0.0986 0.0139 0.0335 0.0410 0.0294 0.0124 0.0310 0.0327 0.0368 0.0638 0.0484 0.0192 0.0100 0.0305 0.0290 0.0250 -0.0255 0.0473 0.0422 0.0417 2022
2022-02-02 0.0013 -0.0137 0.0127 0.0654 0.0189 -0.0100 -0.1484 -0.0891 -0.0419 -0.0047 0.0313 0.0507 0.0551 0.0165 0.0298 0.0037 -0.0186 -0.0631 0.0464 0.0520 0.0142 0.1299 -0.0069 -0.0044 2022
2022-02-09 -0.0105 -0.0135 -0.0202 -0.0308 0.0538 0.0005 0.0201 0.0042 0.0675 0.0174 -0.0079 -0.0327 -0.0018 -0.0168 -0.0278 -0.0248 -0.0376 0.0116 0.0087 -0.0312 0.0143 0.0103 -0.0101 -0.0108 2022
2022-02-16 -0.0503 -0.0434 -0.0510 -0.0412 -0.1246 -0.1158 -0.0447 -0.0602 -0.0433 -0.0662 -0.0186 -0.0478 -0.0546 -0.0556 -0.0877 -0.0376 -0.0465 -0.0242 0.0055 -0.0334 0.0252 -0.1521 -0.0410 -0.0378 2022
2022-02-23 -0.0068 0.0269 0.0322 0.0063 0.0037 0.0508 -0.0347 -0.0493 -0.1527 -0.0875 -0.1071 -0.0702 -0.0946 -0.0478 -0.0781 0.0240 -0.0382 0.0051 0.0145 0.0293 0.0230 0.1471 0.0035 0.0010 2022
2022-03-02 -0.0359 -0.0669 -0.0533 -0.1055 -0.0873 -0.0473 -0.0409 -0.1021 -0.1645 -0.0683 -0.0616 -0.0958 -0.0792 -0.0152 -0.0506 0.0284 0.0363 0.0080 -0.0037 -0.0059 0.0530 -0.1354 -0.0355 -0.0325 2022
2022-03-09 -0.0150 0.0401 0.0163 0.0802 0.0658 -0.0277 0.0019 0.0469 0.0762 0.0110 0.0321 0.0776 0.0756 0.0240 0.0356 0.0430 0.0958 0.0217 0.0576 0.0504 -0.0682 0.0154 0.0195 0.0236 2022
2022-03-16 0.0848 0.0572 0.0794 0.1123 0.1437 0.2147 0.0622 0.0561 0.0904 0.0515 0.0738 0.0626 0.0634 0.0412 0.0875 -0.0065 0.0158 0.0172 0.0261 0.0177 0.0026 0.0740 0.0610 0.0535 2022
2022-03-23 0.0583 0.0366 0.0187 0.0265 0.0773 0.1010 0.0379 0.0374 0.0642 0.0415 -0.0101 -0.0169 -0.0341 -0.0098 -0.0256 0.0155 -0.0057 0.0282 0.0135 0.0106 -0.0012 0.1138 0.0239 0.0294 2022
2022-03-30 -0.0220 -0.0145 -0.0135 -0.0316 -0.0999 -0.0076 -0.1151 -0.1105 -0.1120 -0.0778 -0.0571 -0.0790 -0.0698 -0.0473 -0.0741 -0.0007 -0.0289 0.0260 0.0077 0.0137 0.0006 -0.0411 -0.0206 -0.0231 2022
2022-04-06 -0.0432 -0.0973 -0.0961 -0.0843 -0.1872 -0.1005 -0.0295 -0.0339 -0.0172 -0.0005 -0.0062 -0.0245 0.0062 -0.0130 -0.0160 0.0128 0.0358 0.0226 0.0235 0.0303 0.0250 -0.1269 -0.0325 -0.0287 2022
2022-04-13 -0.0016 0.0114 0.0178 0.0475 0.0318 0.0409 0.0502 0.0497 -0.0035 0.0363 -0.0032 0.0102 -0.0123 0.0493 0.0576 0.0175 -0.0567 0.0019 -0.0678 0.0074 -0.0107 0.0337 0.0156 0.0153 2022
2022-04-20 -0.0654 -0.0543 -0.0914 -0.1260 -0.1668 -0.1597 -0.0934 -0.1009 -0.0748 -0.0673 -0.0638 -0.0821 -0.0704 -0.0704 -0.0764 0.0087 -0.0232 -0.0154 0.0074 -0.0455 -0.0251 -0.0851 -0.0682 -0.0672 2022
2022-04-27 0.0169 0.0419 -0.0112 -0.1150 0.0424 0.0368 -0.0036 0.0487 0.0486 0.0597 0.0001 0.0185 -0.0095 0.0049 0.0166 -0.0352 0.0053 0.0305 -0.0430 -0.0279 -0.0184 -0.0097 0.0019 0.0007 2022
2022-05-04 -0.0317 -0.0446 -0.0254 -0.1323 -0.1080 -0.1280 -0.0868 -0.0315 -0.1152 -0.0494 -0.0342 -0.0376 -0.0248 -0.0310 -0.0340 -0.0068 0.0040 0.0081 0.0165 -0.0235 -0.0155 -0.1963 -0.0477 -0.0424 2022
2022-05-11 -0.0332 -0.0100 0.0180 0.0581 0.0325 -0.0492 0.0134 -0.0156 0.0335 0.0835 0.0273 0.0064 0.0200 0.0256 0.0327 0.0097 0.0367 0.0574 0.0175 0.0092 -0.0123 -0.0194 0.0246 0.0229 2022
2022-05-18 -0.0613 -0.0274 -0.0945 -0.1028 -0.1180 -0.1926 -0.0856 -0.0789 -0.0852 -0.0523 0.0336 -0.0095 -0.0097 0.0031 -0.0118 0.0143 0.0476 0.0175 -0.0373 0.0102 0.0280 -0.0256 -0.0377 -0.0360 2022
2022-05-25 0.0587 0.0484 0.0710 0.1439 0.1449 0.1882 0.0966 0.0940 0.1541 0.0738 0.0454 0.0426 0.0557 0.0403 0.0497 -0.0040 -0.0070 -0.0280 -0.0117 -0.0016 -0.0173 0.0696 0.0480 0.0472 2022
2022-06-01 -0.0009 0.0023 0.0293 0.0229 0.0135 -0.0564 0.0044 -0.0080 0.0317 -0.0079 -0.0165 -0.0231 -0.0066 -0.0104 -0.0094 -0.0067 0.0172 -0.0170 0.0119 0.0006 0.0105 -0.0202 0.0087 0.0068 2022
2022-06-08 -0.1135 -0.1085 -0.0933 -0.1842 -0.1783 -0.0783 -0.1189 -0.1447 -0.1444 -0.1276 -0.1313 -0.1387 -0.1946 -0.1292 -0.1296 -0.0586 -0.1187 -0.0684 -0.0804 -0.0738 -0.0256 -0.3386 -0.1126 -0.1062 2022
2022-06-15 0.0232 0.0371 0.0443 0.0604 0.0453 0.0706 -0.0626 -0.0170 -0.0456 0.0097 0.0154 0.0432 0.0408 0.0080 -0.0044 0.0283 0.0040 0.0491 0.0416 0.0394 0.0121 -0.0698 0.0102 0.0032 2022
2022-06-22 0.0115 0.0107 0.0041 -0.0118 -0.0359 -0.0186 0.0301 0.0405 0.0528 0.0182 -0.0001 -0.0181 0.0301 0.0503 0.0462 0.0225 0.0516 0.0429 0.0610 0.0605 -0.0059 -0.0210 0.0163 0.0191 2022
2022-06-29 0.0295 0.0245 0.0111 0.0552 -0.0658 0.0017 -0.0530 -0.0488 -0.0535 -0.0668 -0.0280 -0.0321 -0.0020 -0.0077 -0.0266 0.0068 0.0192 0.0081 0.0094 -0.0063 -0.0291 -0.0045 0.0029 0.0034 2022
2022-07-06 0.0299 -0.0355 0.0067 -0.0384 0.0079 0.0000 0.0316 -0.0263 -0.0080 0.0232 0.0119 0.0038 -0.0125 -0.0158 -0.0022 -0.0129 0.0077 0.0103 -0.0096 0.0180 -0.0241 -0.0438 -0.0032 -0.0030 2022
2022-07-13 0.0346 0.0228 -0.0018 0.0791 0.1192 0.0521 0.0854 0.0871 0.0770 0.0350 0.0140 0.0615 0.0800 0.0836 0.0725 -0.0239 -0.0130 -0.0133 -0.0180 0.0363 -0.0081 0.1909 0.0300 0.0296 2022
2022-07-20 0.0040 -0.0298 -0.0804 -0.0292 -0.0274 0.0529 -0.0040 -0.0313 -0.0090 0.0199 -0.0100 -0.0090 0.0000 0.0016 -0.0106 0.0115 0.0179 -0.0117 0.0168 -0.0035 0.0031 -0.0964 -0.0032 -0.0035 2022
2022-07-27 0.0540 0.0871 0.0919 0.1558 0.1138 0.1494 0.1897 0.0804 0.1194 0.0560 -0.0088 -0.0003 -0.0005 0.0289 0.0334 -0.0044 -0.0512 -0.0411 -0.0720 0.0073 0.0247 0.0787 0.0445 0.0430 2022
2022-08-03 0.0302 0.0269 0.0129 0.0270 -0.0809 -0.0591 0.0020 0.0135 -0.0867 -0.0131 0.0259 0.0263 0.0121 0.0263 0.0428 -0.0160 0.0095 0.0216 -0.0010 0.0034 0.0190 0.0081 0.0089 0.0080 2022
2022-08-10 0.0494 0.0362 0.0426 0.0492 0.0998 0.0788 0.0785 0.0627 0.0833 0.0434 0.0691 0.0771 0.0663 0.0531 0.0613 -0.0155 0.0016 0.0119 0.0163 0.0164 -0.0107 0.0306 0.0437 0.0436 2022
2022-08-17 -0.0341 -0.0572 -0.0666 -0.0802 -0.0942 -0.0335 -0.0600 -0.0111 -0.1181 -0.0679 -0.0678 -0.0628 -0.0374 -0.0426 -0.0391 -0.0086 -0.0378 -0.0043 -0.0251 -0.0191 -0.0161 -0.1038 -0.0420 -0.0412 2022
2022-08-24 -0.0510 -0.0478 -0.0442 -0.0373 -0.1050 -0.0653 0.0084 0.0147 -0.0180 0.0297 -0.0097 -0.0093 -0.0052 -0.0194 -0.0448 -0.0158 -0.0460 -0.0375 -0.0253 -0.0245 -0.0140 -0.0838 -0.0354 -0.0349 2022
2022-08-31 -0.0279 -0.0377 -0.0197 -0.0206 -0.1387 -0.0119 -0.0276 -0.0085 -0.0591 -0.0487 -0.0059 -0.0307 -0.0290 -0.0216 0.0083 0.0046 -0.0020 -0.0053 0.0149 -0.0099 -0.0137 -0.0497 -0.0206 -0.0189 2022
2022-09-07 -0.0045 -0.0050 -0.0236 0.0056 -0.0251 0.0625 -0.0195 0.0459 0.0874 0.0448 0.0230 0.0346 0.0079 0.0133 0.0223 -0.0114 0.0094 -0.0016 0.0068 -0.0072 0.0013 0.0746 0.0066 0.0060 2022
2022-09-14 0.0197 -0.0386 -0.0310 -0.0372 0.0037 0.0553 -0.1187 -0.0369 -0.0421 -0.0409 -0.0048 0.0050 0.0044 -0.0157 0.0016 0.0223 -0.0312 -0.0033 0.0231 0.0202 -0.0221 -0.0718 -0.0208 -0.0232 2022
2022-09-21 -0.0333 -0.0252 -0.0367 -0.0658 -0.0597 -0.0872 -0.0945 -0.1181 -0.1141 -0.0902 -0.0901 -0.1113 -0.0811 -0.1038 -0.0926 -0.0002 -0.0153 0.0062 -0.0004 -0.0280 -0.0230 0.0116 -0.0612 -0.0513 2022
2022-09-28 -0.0380 0.0514 0.0416 0.0567 0.0590 -0.1260 0.0371 0.0309 0.0600 0.0311 0.0633 0.0575 0.0841 0.0775 0.0550 0.0041 0.0084 0.0293 0.0019 0.0287 0.0587 0.0622 0.0455 0.0394 2022
2022-10-05 -0.0500 -0.0990 -0.0449 -0.0762 -0.1279 -0.1416 -0.0669 -0.1094 -0.0731 -0.0416 -0.1008 -0.0840 -0.0791 -0.0679 -0.0867 -0.0176 -0.0588 0.0297 -0.0034 -0.0457 -0.0351 -0.0653 -0.0569 -0.0550 2022
2022-10-12 0.0337 0.0564 0.0363 0.0363 0.0324 0.0169 0.0399 0.0651 0.0734 0.0352 0.1621 0.1584 0.1047 0.0646 0.0312 0.0200 0.0505 0.0384 0.0216 0.0438 -0.0091 0.0147 0.0371 0.0367 2022
2022-10-19 0.0580 0.0497 0.0362 0.0358 0.1027 0.0101 0.0644 0.0775 0.0240 0.0639 0.0320 0.0145 0.0155 0.0574 0.0134 0.0279 0.0335 0.0322 0.0456 0.0339 0.0016 0.0386 0.0366 0.0365 2022
2022-10-26 -0.0112 -0.0940 -0.1440 -0.2199 0.0210 0.0240 0.0435 0.0613 0.0142 0.0258 0.0435 0.0226 0.0342 0.0475 0.0391 0.0138 0.0517 0.0208 -0.0196 0.0130 -0.0035 0.0192 -0.0006 -0.0010 2022
2022-11-02 -0.0769 0.0031 -0.0175 -0.0730 0.0753 -0.1747 0.0236 -0.0077 0.0991 0.0404 0.0254 0.0248 0.0049 0.0433 0.0281 0.0043 -0.0138 0.0173 0.0110 0.0104 0.0383 -0.0997 -0.0073 -0.0066 2022
2022-11-09 0.0745 0.0557 0.1019 0.0949 0.1322 0.0162 0.0414 0.0300 0.0945 0.0966 0.0113 0.0158 -0.0036 0.0505 0.0594 -0.0084 0.0340 -0.0189 0.0299 -0.0948 0.0372 -0.0936 0.0441 0.0423 2022
2022-11-16 0.0009 0.0126 -0.0142 -0.0598 -0.0384 -0.1348 -0.0058 -0.0067 -0.0374 -0.0073 0.0157 -0.0056 0.0085 0.0026 -0.0092 0.0254 0.0104 0.0707 0.0432 0.0391 -0.0209 -0.0420 0.0019 0.0035 2022
2022-11-23 -0.0619 -0.0166 -0.0194 -0.0084 -0.0252 0.0623 -0.0230 -0.0055 -0.0497 -0.0130 0.0112 -0.0132 0.0097 -0.0004 0.0156 0.0023 0.0083 0.0180 -0.0100 0.0093 0.0041 0.0156 -0.0119 -0.0117 2022
2022-11-30 0.0123 0.0197 0.0186 -0.0462 0.0220 -0.0056 -0.0348 -0.0445 -0.0215 -0.0224 -0.0371 -0.1144 -0.0917 -0.0557 -0.0400 0.0001 0.0044 0.0008 0.0343 0.0212 0.0129 0.0384 -0.0045 -0.0035 2022
2022-12-07 0.0178 0.0470 -0.0140 0.0469 0.1228 -0.1109 0.0216 0.0218 -0.0216 0.0070 0.0187 -0.0018 -0.0181 0.0223 0.0577 0.0175 0.0654 0.0180 0.0065 0.0010 0.0220 0.0397 0.0180 0.0205 2022
2022-12-14 -0.0949 -0.0607 -0.0716 -0.0822 -0.1165 -0.1553 -0.1681 -0.0966 -0.0406 -0.0162 -0.0256 -0.0172 -0.0392 -0.0679 -0.0849 -0.0200 -0.0335 -0.0109 -0.0259 -0.0340 0.0034 -0.0505 -0.0481 -0.0548 2022
2022-12-21 -0.0173 -0.0202 -0.0185 -0.0256 -0.1302 -0.2335 -0.0238 -0.0549 -0.0238 -0.0077 0.0080 0.0105 0.0015 -0.0073 -0.0012 0.0100 -0.0037 0.0283 0.0149 0.0224 -0.0024 -0.0113 0.0009 0.0068 2022
2022-12-28 -0.0389 0.0110 0.0196 0.0329 0.0136 -0.0092 0.0420 0.0149 0.0157 0.0030 0.0253 0.0297 0.0181 0.0124 0.0077 0.0043 0.0025 -0.0088 -0.0037 -0.0254 0.0141 -0.0022 -0.0008 -0.0015 2022
2023-01-04 0.0443 -0.0458 -0.0079 0.0461 0.1056 0.0948 0.0947 0.0928 0.0695 0.0672 0.0254 0.0180 0.0135 0.0317 0.0367 -0.0172 -0.0737 -0.0030 -0.0170 -0.0650 0.0213 0.0449 0.0253 0.0253 2023
2023-01-11 0.0391 0.0490 0.0319 0.0665 0.1068 0.1011 -0.0133 -0.0136 0.0288 0.0270 0.0231 0.0117 0.0407 -0.0210 0.0878 -0.0161 -0.0329 -0.0033 -0.0436 -0.0019 0.0162 0.1931 0.0197 0.0182 2023
2023-01-18 0.0473 0.0070 0.0679 0.0028 0.0846 0.0901 0.0055 -0.0113 0.0333 0.0061 -0.0168 0.0014 0.0075 -0.0046 -0.0163 -0.0238 -0.0302 -0.0176 -0.0247 0.0134 0.0150 0.0674 0.0050 0.0061 2023
2023-01-25 0.0123 0.0236 0.0116 0.0683 0.0140 0.1855 0.0587 0.0827 0.0646 0.0601 0.0108 0.0260 0.0530 0.0490 0.0189 -0.0295 -0.0124 -0.0103 0.0004 0.0153 -0.0048 0.0220 0.0165 0.0156 2023
2023-02-01 0.0693 0.0767 0.0853 -0.0099 0.1266 0.1277 -0.0045 0.0515 0.0246 0.0006 0.0260 0.0357 0.0265 0.0232 0.0273 -0.0001 -0.0039 -0.0162 -0.0178 -0.0457 -0.0307 0.0054 0.0204 0.0212 2023
2023-02-08 -0.0094 0.0171 -0.1283 -0.0239 0.0354 0.0613 -0.0363 0.0246 0.0438 0.0491 -0.0031 -0.0318 0.0140 -0.0070 0.0134 -0.0084 0.0030 0.0285 0.0501 0.0329 -0.0079 -0.0459 -0.0064 -0.0062 2023
2023-02-15 -0.0298 -0.0743 -0.0310 -0.0527 -0.1063 -0.0584 -0.0001 -0.0311 -0.0404 -0.0073 -0.0252 -0.0314 -0.0477 -0.0291 -0.0297 -0.0252 -0.0236 0.0030 -0.0039 -0.0031 -0.0116 0.0950 -0.0340 -0.0334 2023
2023-02-22 -0.0072 -0.0104 -0.0190 -0.0037 0.1169 0.0414 -0.0107 -0.0599 -0.0002 0.0191 0.0263 -0.0064 0.0114 -0.0266 -0.0115 -0.0233 -0.0512 -0.0263 0.0124 -0.0318 -0.0049 -0.0542 -0.0066 -0.0071 2023
2023-03-01 0.0280 0.0188 0.0413 -0.0072 0.0031 -0.0916 0.0611 0.0255 0.0026 -0.0026 -0.0336 -0.0386 -0.0509 -0.0160 -0.0046 0.0054 -0.0057 0.0463 -0.0063 -0.0043 -0.0069 -0.0409 0.0043 0.0051 2023
2023-03-08 0.0065 0.0258 0.0012 0.0141 0.0329 -0.0240 -0.0727 -0.1077 -0.0312 -0.0486 -0.0293 -0.1311 -0.1012 -0.0645 -0.0655 -0.0011 -0.0110 -0.0394 0.0060 -0.0198 0.0475 0.1077 -0.0186 -0.0166 2023
2023-03-15 0.0429 0.0486 0.1102 0.0586 0.0850 0.0752 -0.0178 -0.0141 -0.0180 -0.0084 -0.0307 -0.0059 -0.0430 -0.0152 -0.0135 -0.0002 0.0189 -0.0065 0.0188 0.0364 0.0198 0.1298 0.0224 0.0182 2023
2023-03-22 -0.0103 0.0053 -0.0378 -0.0341 0.0080 -0.0434 -0.0103 -0.0254 -0.0274 0.0097 -0.0129 -0.0166 -0.0344 0.0036 -0.0447 -0.0135 -0.0166 -0.0001 0.0094 -0.0158 0.0169 -0.0327 -0.0147 -0.0045 2023
2023-03-29 0.0494 0.0425 0.0359 0.0667 0.0387 0.0178 0.0922 0.0435 -0.0071 -0.0050 -0.0036 -0.0050 -0.0100 0.0131 -0.0007 0.0430 0.0225 0.0308 0.0096 0.0428 0.0244 0.0325 0.0375 0.0325 2023
2023-04-05 -0.0296 -0.0153 0.0060 -0.0395 -0.0104 -0.0305 0.0117 -0.0093 -0.0212 0.0057 0.0008 0.0258 0.0672 0.0145 0.0032 0.0358 0.0215 0.0331 0.0100 0.0547 -0.0091 0.0708 0.0013 0.0026 2023
2023-04-12 0.0347 0.0194 -0.0081 0.0235 0.0182 -0.0134 -0.0109 -0.0023 0.0239 0.0162 0.1033 0.0624 0.0616 0.0198 0.0544 -0.0200 -0.0301 0.0206 -0.0112 -0.0322 -0.0002 0.0054 0.0108 0.0109 2023
2023-04-19 -0.0164 -0.0459 -0.0062 0.0026 -0.0529 -0.1373 -0.0784 -0.0710 -0.0495 -0.0027 -0.0267 -0.0579 -0.0320 0.0165 -0.0201 0.0256 -0.0305 0.0147 0.0419 -0.0252 -0.0027 -0.0712 -0.0213 -0.0198 2023
2023-04-26 0.0287 0.1034 0.0141 0.0103 0.0724 -0.0022 0.0150 0.0052 -0.0107 -0.0220 0.0090 -0.0239 -0.0431 -0.0182 -0.0203 -0.0009 -0.0069 0.0116 -0.0840 0.0030 0.0095 0.0131 0.0125 0.0117 2023
2023-05-03 0.0190 0.0052 0.0191 0.0284 0.0127 0.0537 0.0051 0.0060 -0.0808 -0.0608 -0.0182 -0.0179 -0.0078 -0.0261 -0.0139 -0.0244 -0.0150 -0.0039 -0.0321 -0.0061 0.0080 -0.0363 0.0002 0.0002 2023
2023-05-10 0.0017 0.0153 0.1073 0.0617 0.0222 -0.0157 -0.0528 -0.0537 -0.0268 -0.0204 -0.0154 -0.0109 0.0039 -0.0123 -0.0302 -0.0107 -0.0390 -0.0116 -0.0244 -0.0220 -0.0222 -0.0227 -0.0028 -0.0017 2023
2023-05-17 -0.0016 0.0112 0.0252 0.0139 0.0493 0.1094 0.0418 0.0579 0.0172 0.0691 0.0168 0.0436 0.0709 0.0086 0.0095 -0.0160 0.0794 -0.0245 -0.0054 -0.0006 -0.0078 0.0070 0.0100 0.0093 2023
2023-05-24 0.0329 0.0515 0.0090 0.0564 0.2678 0.0796 0.0708 -0.0018 -0.0136 -0.0004 0.0063 -0.0113 -0.0056 0.0222 0.0094 -0.0082 -0.0687 -0.0369 -0.0436 0.0009 -0.0076 0.0174 0.0144 0.0146 2023
2023-05-31 0.0107 0.0074 0.0290 0.0399 -0.0370 0.0955 0.0266 0.0548 0.0452 0.0056 0.0136 0.0337 0.0068 -0.0123 0.0288 0.0244 0.0361 0.0077 -0.0074 0.0160 0.0016 -0.0169 0.0202 0.0185 2023
2023-06-07 0.0226 0.0018 -0.0277 0.0004 0.0595 0.1561 0.0888 0.0689 0.0580 -0.0025 0.0191 0.0137 0.0331 0.0545 0.0278 0.0161 0.0486 -0.0002 0.0210 0.0076 -0.0099 -0.0497 0.0160 0.0200 2023
2023-06-14 0.0092 0.0112 -0.0059 -0.0070 0.0658 0.0591 0.0063 -0.0088 -0.0098 -0.0062 0.0036 -0.0182 -0.0180 -0.0350 -0.0177 0.0209 -0.0236 0.0022 -0.0035 -0.0456 -0.0044 0.0889 0.0073 0.0012 2023
2023-06-21 0.0164 -0.0103 -0.0395 0.0267 -0.0451 -0.0925 0.0133 0.0043 0.0038 -0.0009 -0.0236 -0.0221 -0.0237 -0.0536 -0.0269 -0.0051 -0.0771 0.0343 -0.0386 0.0318 -0.0115 0.0800 -0.0033 0.0014 2023
2023-06-28 0.0231 0.0102 0.0132 0.0080 0.0127 0.1118 0.0560 0.0387 0.0245 0.0742 0.0519 0.0334 0.0591 0.0411 0.0232 0.0004 0.0063 0.0089 0.0180 -0.0097 0.0044 0.0029 0.0177 0.0173 2023
2023-07-05 -0.0230 -0.0165 -0.0233 -0.0111 -0.0002 -0.0365 -0.0007 0.0256 0.0689 0.0363 0.0055 -0.0062 -0.0153 -0.0177 -0.0169 -0.0293 -0.0173 -0.0505 0.0041 -0.0319 0.0055 -0.0051 -0.0022 -0.0030 2023
2023-07-12 0.0296 0.0781 0.0550 0.0310 0.1133 0.0837 -0.0721 -0.0212 -0.0131 0.0018 0.0483 0.0563 0.0648 0.0498 0.0790 0.0027 0.0061 -0.0256 0.0074 0.0771 0.0231 -0.0253 0.0274 0.0262 2023
2023-07-19 -0.0006 -0.0240 -0.0126 -0.0283 -0.0390 -0.1005 -0.0425 -0.0314 0.0088 0.0076 0.0204 0.0461 -0.0026 0.0504 0.0266 0.0805 0.0224 0.0148 0.0473 0.0216 -0.0067 -0.0213 0.0029 0.0027 2023
2023-07-26 0.0102 -0.0426 0.0736 0.0196 0.0180 -0.0160 -0.0010 0.0053 -0.0037 0.0102 0.0023 -0.0166 0.0050 0.0085 -0.0376 -0.0205 -0.0399 -0.0211 0.0476 -0.0122 -0.0107 0.0152 0.0016 0.0023 2023
2023-08-02 -0.0843 -0.0311 -0.0011 0.0608 -0.0404 -0.0445 -0.0411 -0.0342 -0.0294 -0.1033 -0.0083 -0.0111 -0.0273 -0.0268 -0.0183 0.0251 0.0119 0.0107 0.0072 0.0022 -0.0101 0.0030 -0.0185 -0.0171 2023
2023-08-09 -0.0132 -0.0129 -0.0124 -0.0164 -0.0163 -0.0694 -0.0724 -0.1010 -0.0887 -0.0278 -0.0329 -0.0435 -0.0323 -0.0472 -0.0265 -0.0014 -0.0070 0.0209 0.0166 0.0016 -0.0115 -0.0202 -0.0126 -0.0131 2023
2023-08-16 0.0001 0.0019 -0.0054 -0.0252 0.0386 0.0010 -0.0092 -0.0112 -0.0121 -0.0329 -0.0299 -0.0514 -0.0292 -0.0412 -0.0376 -0.0408 0.0402 -0.0132 -0.0258 -0.0287 -0.0028 -0.1138 -0.0120 -0.0108 2023
2023-08-23 0.0381 0.0204 0.0417 0.0049 0.0660 0.0979 0.0151 0.0160 0.0476 0.0324 0.0161 0.0253 0.0120 0.0423 0.0305 -0.0104 -0.0189 0.0254 -0.0044 0.0010 0.0212 0.0631 0.0262 0.0248 2023
2023-08-30 0.0299 0.0155 0.0089 0.0173 -0.0048 -0.0027 0.0033 -0.0054 0.0229 -0.0047 -0.0242 -0.0180 -0.0110 -0.0268 -0.0083 -0.0151 -0.0215 -0.0228 -0.0101 -0.0247 -0.0069 -0.0728 0.0010 0.0002 2023
2023-09-06 -0.0733 -0.0054 -0.0032 0.0284 -0.0788 0.0420 0.0293 0.0084 -0.0048 0.0220 0.0078 0.0194 0.0238 0.0301 0.0083 0.0179 -0.0354 0.0139 0.0215 -0.0019 -0.0065 0.0021 -0.0084 -0.0073 2023
2023-09-13 0.0156 -0.0094 0.0198 -0.0258 -0.0305 -0.0037 0.0088 0.0145 -0.0010 -0.0027 0.0175 -0.0111 0.0159 0.0327 0.0340 -0.0085 -0.0047 -0.0153 0.0279 0.0055 0.0097 0.0520 -0.0057 -0.0074 2023
2023-09-20 -0.0405 -0.0515 -0.0711 -0.0884 -0.0377 -0.0877 -0.0104 -0.0514 -0.0615 -0.0338 -0.0272 -0.0530 -0.0613 -0.0543 -0.0743 -0.0198 -0.0479 -0.0117 0.0027 0.0503 -0.0165 -0.0372 -0.0433 -0.0352 2023
2023-09-27 0.0026 0.0040 0.0296 -0.0101 0.0376 0.0098 -0.0294 -0.0277 -0.0197 -0.0252 -0.0154 -0.0475 -0.0499 -0.0562 -0.0518 -0.0234 0.0453 -0.0350 -0.0430 0.0079 -0.0412 0.0452 -0.0062 -0.0101 2023
2023-10-04 0.0342 0.0468 0.0416 0.0375 0.0511 0.0670 0.0107 0.0032 0.0369 0.0226 0.0204 0.0416 0.0293 0.0279 0.0267 0.0193 -0.0218 0.0179 0.0099 0.0286 0.0197 -0.0014 0.0309 0.0303 2023
2023-10-11 -0.0070 0.0111 0.0120 0.0153 -0.0415 -0.0338 -0.0132 -0.0372 -0.0158 -0.0073 0.0202 0.0223 0.0528 -0.0173 0.0025 -0.0144 -0.0127 0.0054 0.0019 0.0234 0.0328 0.0367 0.0032 0.0034 2023
2023-10-18 -0.0212 -0.0046 -0.0065 -0.0224 -0.0063 -0.1630 -0.0555 -0.0601 -0.0618 -0.0275 -0.0441 -0.0810 -0.0665 -0.0335 -0.1156 -0.0316 -0.0735 -0.0110 -0.0095 -0.0219 0.0258 0.1765 -0.0311 -0.0288 2023
2023-10-25 -0.0155 0.0227 -0.1122 0.0346 -0.0683 -0.0752 -0.1555 -0.0127 -0.0403 -0.0398 -0.0151 0.0336 0.0124 0.0147 -0.0104 -0.0193 0.0043 -0.0032 -0.0357 0.0199 0.0062 0.0224 -0.0123 -0.0129 2023
2023-11-01 0.0627 0.0642 0.0540 0.0698 0.1195 0.1010 0.0576 0.0074 -0.1412 -0.1230 0.0350 0.0668 0.0314 0.0648 0.0763 0.0171 0.0223 0.0126 0.0069 0.0042 -0.0082 0.0221 0.0447 0.0438 2023
2023-11-08 0.0304 0.0267 0.0200 0.0214 0.0775 0.0663 0.0224 -0.0074 0.0476 0.0269 0.0303 0.0370 0.0339 0.0446 0.0364 -0.0217 -0.0658 -0.0178 -0.0293 0.0049 -0.0026 0.0027 0.0279 0.0266 2023
2023-11-15 0.0182 0.0075 0.0248 -0.0131 0.0058 0.0158 -0.0204 -0.0107 0.0177 0.0148 0.0301 0.0149 0.0123 -0.0111 0.0020 0.0232 0.0483 0.0004 0.0048 -0.0016 0.0176 0.0077 0.0107 0.0101 2023
2023-11-22 -0.0013 0.0275 0.0017 0.0215 -0.0434 0.0226 0.0175 0.0349 0.0138 -0.0100 0.0037 -0.0044 0.0179 0.0080 -0.0205 0.0113 -0.0203 -0.0201 -0.0047 0.0017 0.0209 0.0548 0.0044 0.0037 2023
2023-11-29 0.0157 -0.0270 -0.0463 -0.0010 -0.0266 -0.0330 0.0219 0.1233 -0.0135 -0.0210 0.0284 0.0349 0.0255 0.0121 0.0419 0.0446 -0.0204 0.0586 0.0459 0.0178 -0.0112 0.1529 0.0054 0.0037 2023
2023-12-06 0.0066 0.0050 0.0116 0.0041 0.0232 -0.0072 0.0515 0.0252 -0.0051 0.0020 0.0160 0.0132 0.0435 0.0395 0.0419 -0.0222 -0.0177 -0.0178 0.0582 -0.0049 -0.0198 -0.0615 0.0166 0.0163 2023
2023-12-13 0.0114 -0.0030 0.0307 0.0419 0.0400 0.0818 0.0742 0.0707 0.0993 0.0709 0.0482 0.0863 0.0750 0.0812 0.0949 0.0089 -0.0148 0.0202 0.0023 -0.0405 0.0303 0.0196 0.0273 0.0229 2023
2023-12-20 -0.0199 0.0037 0.0350 -0.0025 -0.0066 -0.0024 0.0351 0.0072 0.0067 0.0179 -0.0004 0.0104 -0.0090 -0.0022 0.0100 -0.0020 0.0088 0.0179 0.0066 -0.0077 0.0136 0.0059 -0.0010 0.0058 2023
2023-12-27 -0.0391 -0.0102 -0.0240 -0.0229 -0.0228 -0.0324 -0.0236 -0.0022 0.0081 -0.0017 0.0217 0.0012 -0.0063 0.0174 0.0114 0.0242 0.0454 0.0508 0.0331 0.0365 -0.0052 0.0557 -0.0045 -0.0063 2023
2024-01-03 -0.0027 0.0132 0.0199 0.0096 0.0982 -0.0557 -0.0267 0.0135 -0.0918 -0.0564 -0.0083 -0.0080 -0.0008 -0.0118 -0.0198 0.0103 -0.0112 0.0448 0.0155 -0.0018 -0.0147 0.0259 0.0017 0.0026 2024
2024-01-10 -0.0082 0.0378 0.0109 0.0118 0.0592 -0.0662 -0.0326 -0.0320 -0.0180 -0.0256 -0.0096 -0.0459 -0.0514 -0.0086 -0.0684 -0.0069 -0.0374 0.0005 -0.0051 -0.0364 -0.0001 -0.0669 0.0029 0.0022 2024
2024-01-17 0.0610 0.0219 0.0314 0.0185 0.0601 -0.0502 -0.0079 -0.0045 0.0105 0.0102 0.0059 0.0200 0.0480 0.0008 0.0089 -0.0044 0.0039 0.0113 0.0461 -0.0070 0.0002 -0.0798 0.0203 0.0207 2024
2024-01-24 -0.0373 0.0240 0.0296 0.0189 0.0473 -0.0876 0.0354 0.0796 0.0604 0.0286 0.0422 0.0598 0.0413 0.0159 0.0101 -0.0065 -0.0509 0.0151 -0.0155 -0.0234 0.0034 0.0751 0.0115 0.0124 2024
2024-01-31 0.0067 -0.0076 -0.0498 0.0619 0.0832 -0.0345 0.0243 -0.0032 -0.0296 -0.0102 -0.0067 -0.0516 -0.0583 -0.0049 -0.0078 -0.0045 0.0325 0.0420 0.0495 0.0139 -0.0002 0.0031 0.0059 0.0063 2024
2024-02-07 -0.0228 0.0020 0.0072 -0.0030 0.0557 -0.0059 0.0493 0.0073 -0.0625 -0.0928 -0.0048 -0.0088 0.0060 -0.0163 -0.0250 -0.0101 -0.0195 -0.0115 0.0000 0.0120 -0.0216 0.1437 0.0004 0.0002 2024
2024-02-14 -0.0177 -0.0087 -0.0281 -0.0093 -0.0378 0.0516 -0.0345 0.0181 -0.0170 -0.0291 0.0309 0.0363 0.0706 0.0151 0.0163 0.0088 0.0227 0.0153 0.0141 0.0081 0.0158 0.0498 0.0046 0.0054 2024
2024-02-21 0.0059 0.0134 -0.0160 0.0379 0.1250 0.0303 0.0060 0.0296 0.0137 0.0171 0.0205 0.0094 0.0571 0.0162 0.0016 0.0271 -0.0257 0.0129 0.0183 -0.0148 0.0028 0.0878 0.0197 0.0203 2024
2024-02-28 -0.0710 -0.0119 -0.0457 0.0033 0.0883 -0.0999 0.0472 0.0116 0.0076 0.0206 0.0274 0.0319 0.0321 0.0003 0.0417 -0.0063 -0.0306 -0.0492 0.0009 -0.0817 0.0477 0.1112 0.0005 0.0005 2024
2024-03-06 0.0181 0.0309 0.0430 0.0073 0.0670 -0.0179 -0.0381 -0.0331 -0.0091 0.0418 0.0068 0.0230 0.0177 0.0001 -0.0236 0.0172 0.0714 -0.0014 0.0098 0.0337 0.0131 0.1137 0.0186 0.0188 2024
2024-03-13 0.0163 0.0147 0.0598 0.0029 -0.0277 -0.0357 0.0156 0.0570 -0.0101 -0.0236 0.0206 0.0019 -0.0105 0.0012 0.0156 -0.0410 -0.0137 -0.0038 -0.0070 0.0120 0.0001 -0.1437 0.0010 -0.0021 2024
2024-03-20 -0.0368 0.0006 0.0245 0.0136 0.0348 0.0364 0.0113 0.0583 -0.0172 0.0572 0.0100 0.0290 -0.0058 0.0441 0.0318 -0.0028 -0.0014 0.0331 -0.0026 -0.0020 0.0092 0.1226 0.0030 0.0091 2024
2024-03-27 -0.0051 -0.0005 0.0255 0.0133 -0.0342 -0.0642 0.0653 0.0200 0.0074 0.0319 0.0159 0.0056 0.0118 0.0097 0.0155 0.0125 -0.0015 0.0378 0.0083 -0.0719 0.0449 -0.0671 0.0032 0.0001 2024
2024-04-03 0.0049 0.0114 0.0131 0.0272 -0.0469 0.0597 0.0194 -0.0036 0.0227 0.0247 -0.0086 0.0115 0.0040 0.0014 0.0147 -0.0351 -0.0283 -0.0283 -0.0602 0.0034 0.0316 0.0549 0.0018 0.0009 2024
2024-04-10 -0.0017 -0.0278 -0.0141 -0.0127 0.0239 -0.1185 -0.1133 -0.0474 -0.0927 -0.0932 -0.0808 -0.0843 -0.0205 -0.0343 -0.0539 -0.0529 -0.0416 -0.0131 -0.0457 0.0198 0.0162 -0.0802 -0.0332 -0.0309 2024
2024-04-17 -0.0147 -0.0171 0.0247 -0.0208 -0.0588 -0.0824 0.0679 0.0556 -0.0238 0.0274 0.0608 0.1011 0.0772 0.0661 0.0505 0.0348 0.0242 0.0144 0.0515 0.0362 -0.0283 0.0399 0.0044 0.0042 2024
2024-04-24 0.0203 -0.0458 0.0282 -0.0256 0.0471 0.2365 -0.0630 -0.0127 0.0106 -0.0172 -0.0021 -0.0361 -0.0269 0.0064 -0.0316 -0.0338 -0.0270 0.0183 -0.0415 -0.0051 -0.0149 -0.0909 -0.0061 -0.0073 2024
2024-05-01 0.0685 0.0501 0.0507 0.0757 0.0469 -0.0303 0.0016 0.0167 0.1562 0.1160 0.0001 0.0222 0.0157 0.0393 0.0623 0.0282 0.0806 0.0089 -0.0006 0.0351 0.0110 0.0276 0.0307 0.0298 2024
2024-05-08 0.0272 0.0175 -0.0053 -0.0090 0.0088 -0.0015 0.0340 -0.0055 -0.0019 0.0212 0.0496 0.0170 0.0267 0.0325 0.0368 0.0177 0.0217 -0.0133 -0.0059 0.0255 0.0180 -0.0126 0.0132 0.0118 2024
2024-05-15 0.0273 0.0295 0.0431 -0.0212 0.0432 0.0497 -0.0236 -0.0024 -0.0064 -0.0294 -0.0099 0.0297 -0.0012 0.0257 0.0214 -0.0009 0.0213 0.0162 0.0083 0.0186 0.0278 0.1305 0.0136 0.0153 2024
2024-05-22 -0.0123 0.0048 -0.0082 -0.0055 0.1774 -0.0542 -0.0395 -0.0416 0.0099 -0.0155 -0.0001 -0.0084 -0.0327 -0.0228 -0.0286 -0.0384 -0.0091 -0.0364 -0.0477 -0.0387 -0.0273 -0.0266 -0.0038 -0.0029 2024
2024-05-29 0.0227 -0.0337 -0.0149 -0.0155 0.0220 -0.0113 0.0295 0.0491 0.0079 -0.0345 -0.0017 0.0091 -0.0132 -0.0099 -0.0214 0.0234 0.0412 0.0206 0.0428 0.0036 -0.0135 0.0327 -0.0057 -0.0027 2024
2024-06-05 0.0638 0.0391 0.0162 0.0431 0.0377 -0.0238 0.0066 0.0631 -0.0939 -0.0261 -0.0244 -0.0209 -0.0271 -0.0185 -0.0120 -0.0071 -0.0508 0.0240 0.0337 -0.0185 -0.0052 -0.0469 0.0136 0.0161 2024
2024-06-12 0.0339 0.0311 -0.0076 -0.0239 0.1146 0.0799 -0.0276 -0.0135 -0.0771 -0.0213 0.0135 0.0347 0.0331 0.0292 0.0222 -0.0076 -0.0224 -0.0296 0.0216 -0.0310 0.0061 -0.0331 0.0239 0.0213 2024
2024-06-19 -0.0247 0.0103 0.0498 0.0191 -0.0726 0.0134 0.0260 -0.0220 0.0381 -0.0043 0.0054 -0.0154 -0.0318 -0.0001 0.0024 0.0105 0.0209 0.0438 -0.0036 0.0114 -0.0042 -0.0526 -0.0038 -0.0067 2024
2024-06-26 0.0522 0.0183 0.0066 0.0707 -0.0275 0.2106 0.0625 0.0116 -0.0549 -0.0344 0.0529 0.0386 0.0638 0.0178 0.0187 -0.0079 -0.0057 -0.0399 -0.0285 0.0280 0.0046 0.0036 0.0081 0.0109 2024
2024-07-03 0.0375 0.0006 0.0200 -0.0033 0.0686 0.1261 0.0023 -0.0148 -0.0052 -0.0032 -0.0058 0.0119 -0.0180 0.0154 0.0293 0.0070 -0.0040 -0.0132 0.0125 -0.0124 0.0138 -0.0670 0.0130 0.0123 2024
2024-07-10 0.0265 -0.0220 -0.0271 -0.0322 -0.0390 -0.0222 0.1093 0.0731 0.0608 0.0862 0.0340 0.0634 0.0060 0.0619 0.0346 0.0266 0.0622 -0.0048 0.0068 0.1092 0.0436 0.1153 0.0175 0.0161 2024
2024-07-17 -0.0427 -0.0104 -0.0116 -0.0348 -0.0303 -0.0405 -0.0397 -0.0705 -0.0679 -0.0585 -0.0155 -0.0398 -0.0095 -0.0218 -0.0259 0.0088 0.0000 -0.0085 0.0322 0.0106 -0.0253 0.0127 -0.0213 -0.0198 2024
2024-07-24 -0.0280 -0.0506 -0.0653 -0.0255 -0.1671 -0.1014 -0.2436 -0.0475 -0.0141 -0.0031 0.0228 -0.0270 0.0057 0.0271 0.0025 0.0573 0.0621 -0.0762 0.0758 0.0383 -0.0003 0.0041 -0.0201 -0.0215 2024
2024-07-31 -0.0543 -0.0567 -0.0731 -0.1152 0.0050 -0.1040 -0.1029 -0.0854 0.0208 -0.0183 -0.0715 -0.1116 -0.1364 -0.0727 -0.1098 -0.0147 -0.0542 -0.0362 -0.0057 -0.0139 -0.0082 -0.1667 -0.0378 -0.0373 2024
2024-08-07 0.0656 0.0354 0.0364 0.0500 0.1080 0.0352 0.0361 0.0646 -0.0158 0.0003 0.0372 0.0409 0.0097 0.0452 0.0484 -0.0037 -0.0162 0.0287 0.0293 0.0103 0.0328 0.0785 0.0377 0.0374 2024
2024-08-14 0.0246 0.0257 0.0182 0.0496 0.0914 0.0619 0.0673 0.0596 0.0273 0.0199 0.0312 0.0060 0.0678 0.0109 0.0412 0.0111 0.0017 0.0065 0.0254 0.0111 0.0191 -0.0267 0.0298 0.0303 2024
2024-08-21 0.0067 -0.0243 -0.0151 -0.0327 0.0082 -0.0553 0.0422 0.0687 0.0139 0.0345 0.0260 0.0250 0.0020 0.0197 0.0128 0.0173 -0.0028 0.0117 -0.0012 0.0115 0.0040 0.0083 0.0051 0.0051 2024
2024-08-28 -0.0233 -0.0107 -0.0455 0.0179 -0.1722 0.0066 -0.0145 -0.0172 -0.0102 -0.0168 0.0005 0.0256 0.0368 -0.0398 -0.0279 0.0331 -0.0182 0.0007 0.0090 0.0191 -0.0134 -0.0355 -0.0161 -0.0170 2024
2024-09-04 -0.0120 0.0116 -0.0569 0.0186 0.0009 0.0713 -0.0620 -0.0771 -0.0698 -0.0441 -0.0693 -0.0355 -0.0787 -0.0367 -0.0271 0.0013 0.0496 -0.0108 0.0084 0.0006 0.0101 0.0038 -0.0064 -0.0060 2024
2024-09-11 -0.0152 0.0493 0.0706 0.0400 0.0670 0.0075 0.0547 0.0610 0.0714 0.0416 0.0178 0.0133 0.0103 0.0383 0.0328 -0.0019 0.0030 0.0253 -0.0300 -0.0358 0.0201 0.0451 0.0280 0.0257 2024
2024-09-18 0.0476 -0.0138 0.0185 0.0372 0.0448 0.1096 -0.0028 0.0115 0.0266 0.0647 0.0111 -0.0025 -0.0064 0.0257 0.0271 -0.0260 -0.0111 -0.0219 0.0003 -0.0013 0.0361 0.0641 0.0167 0.0145 2024
2024-09-25 -0.0051 -0.0200 0.0285 -0.0466 -0.0325 0.0146 -0.0111 -0.0687 -0.0223 0.0110 -0.0217 -0.0058 0.0225 -0.0159 0.0178 -0.0049 -0.0285 -0.0019 0.0177 0.0140 -0.0019 -0.0554 -0.0084 -0.0016 2024
2024-10-02 -0.0019 -0.0143 -0.0158 -0.0131 0.1273 -0.0538 -0.0245 0.0249 -0.0131 -0.0231 0.0178 0.0179 0.0339 0.0130 0.0290 -0.0143 0.0176 -0.0557 -0.0203 -0.0030 -0.0133 0.0211 0.0117 0.0080 2024
2024-10-09 0.0352 0.0097 0.0065 0.0268 -0.0098 -0.1075 0.0328 0.0392 0.0057 0.0086 0.0599 0.0539 0.0953 0.0507 0.0431 0.0272 0.0089 0.0274 -0.0060 -0.0445 0.0145 0.0760 0.0115 0.0115 2024
2024-10-16 0.0086 0.0207 -0.0019 0.0107 0.0872 -0.0073 0.0246 0.1159 -0.0046 -0.0228 0.0077 0.0038 0.0278 -0.0078 0.0529 -0.0040 -0.0206 -0.0448 -0.0083 0.0241 0.0321 0.0048 0.0031 0.0061 2024
2024-10-23 -0.0093 0.0103 0.0271 0.0059 -0.0164 0.1745 -0.0651 -0.0416 -0.0076 0.0009 -0.0055 0.0054 0.0075 0.0115 0.0082 -0.0208 -0.0133 -0.0277 0.0036 -0.0137 0.0085 0.0766 -0.0019 -0.0027 2024
2024-10-30 -0.0447 -0.0486 0.0004 0.0444 -0.0095 -0.0316 0.0181 0.0411 -0.2246 -0.0059 -0.0063 -0.0154 -0.0190 0.0051 -0.0126 -0.0109 -0.0167 -0.0203 0.0626 0.0087 -0.0106 -0.0473 -0.0071 -0.0088 2024
2024-11-06 0.0035 0.0277 0.0676 0.0461 0.0582 0.2673 0.0461 0.0668 0.0204 0.0324 0.0784 0.0908 0.1250 0.1174 0.1239 -0.0367 -0.0665 -0.0307 -0.1645 0.0807 -0.0541 0.2375 0.0365 0.0344 2024
2024-11-13 0.0190 -0.0125 -0.0195 -0.0208 -0.0087 0.0519 0.0090 -0.0409 -0.0788 -0.0589 0.0146 0.0119 0.0171 -0.0191 -0.0005 0.0024 -0.0271 -0.0209 -0.0268 -0.0632 0.0132 0.0487 -0.0118 -0.0111 2024
2024-11-20 0.0293 0.0241 -0.0518 0.0158 -0.0711 -0.0227 0.0045 -0.0058 0.0591 0.0309 0.0279 0.0285 0.0520 0.0407 -0.0073 0.0099 0.0263 0.0513 0.0839 0.0503 -0.0012 -0.0039 0.0189 0.0174 2024
2024-11-27 0.0318 0.0095 0.0130 0.0265 0.0241 0.0383 -0.0255 -0.0208 0.0077 -0.0094 -0.0208 -0.0197 -0.0424 -0.0057 -0.0064 -0.0061 -0.0082 0.0023 0.0020 -0.0026 0.0040 0.0427 0.0050 0.0054 2024
2024-12-04 0.0209 0.0277 0.0776 0.0529 -0.0377 0.1320 -0.0243 -0.0173 0.0475 0.0254 -0.0080 -0.0231 -0.0286 -0.0238 -0.0284 -0.0208 0.0004 -0.0084 -0.0326 -0.0684 0.0189 0.0070 -0.0021 -0.0018 2024
2024-12-11 0.0228 0.0248 0.0550 0.0268 -0.0352 0.1796 -0.0575 -0.0284 -0.0096 -0.0404 -0.0187 -0.0099 -0.0174 -0.0178 0.0075 -0.0191 0.0331 -0.0094 -0.0017 -0.1481 -0.0189 0.0934 -0.0016 0.0025 2024
2024-12-18 0.0184 -0.0339 0.0035 -0.0091 0.0727 -0.0373 0.0050 0.0451 0.0355 -0.0324 0.0164 -0.0150 0.0110 0.0140 -0.0053 -0.0038 0.0117 0.0019 0.0260 0.0415 -0.0103 -0.0729 0.0004 -0.0050 2024
2024-12-25 -0.0306 -0.0414 -0.0353 -0.0431 -0.0432 -0.1352 -0.0120 -0.0045 0.0088 -0.0122 -0.0108 -0.0097 -0.0190 -0.0176 -0.0106 -0.0085 -0.0079 0.0003 -0.0129 -0.0005 0.0029 -0.0546 -0.0258 -0.0223 2024

Calculating monthly log returns

library(dplyr)
library(lubridate)

monthly_returns <- weekly_returns %>%
  mutate(year = year(date),
         month = month(date)) %>%
  group_by(year, month) %>%
  summarize(across(where(is.numeric), ~ sum(.x, na.rm = TRUE)), .groups = "drop") %>%
  mutate(date = as.Date(paste(year, month, "01", sep = "-"))) %>%
  select(date, everything(), -year, -month)

kable(monthly_returns, caption = "Monthly Log Returns", digits = 4)
Monthly Log Returns
date AAPL MSFT GOOGL AMZN NVDA TSLA F GM APTV BWA JPM BAC WFC GS MS JNJ PFE MRK ABBV UNH GLD BTC-USD ESGU SPY
2020-01-01 0.0663 0.1337 0.0354 0.0722 0.0296 0.6372 -0.0076 -0.0224 -0.0075 -0.2092 0.0020 -0.0293 -0.1082 0.0270 0.0591 0.0446 -0.0277 -0.0095 -0.0389 -0.0314 -0.0105 0.1174 0.0276 0.0194
2020-02-01 -0.0948 -0.0879 -0.0774 -0.0711 0.0732 -0.1738 -0.2585 -0.1188 -0.1138 -0.0972 -0.1456 -0.1919 -0.1430 -0.1734 -0.1896 -0.1053 -0.0841 -0.1103 0.0373 -0.0717 0.0497 -0.0438 -0.0919 -0.0917
2020-03-01 -0.1291 -0.0422 -0.1409 0.0211 -0.0081 -0.3526 -0.3668 -0.3723 -0.4924 -0.2428 -0.2617 -0.2615 -0.3451 -0.2684 -0.2669 -0.0334 -0.0496 -0.0198 -0.1392 -0.0428 -0.0387 -0.3110 -0.1550 -0.1467
2020-04-01 0.1571 0.1364 0.1493 0.1729 0.1083 0.3826 0.0286 0.0228 0.2875 0.1010 0.0320 0.0652 -0.0866 0.1427 0.1107 0.1311 0.1654 0.0138 0.1286 0.1613 0.0840 0.3352 0.1156 0.1047
2020-05-01 0.0858 0.0255 0.0669 0.0646 0.1838 0.1376 0.1715 0.2541 0.1936 0.2302 0.0726 0.0919 0.0603 0.1353 0.1912 -0.0015 -0.0530 0.0356 0.0643 0.0443 0.0098 0.0569 0.0784 0.0737
2020-06-01 0.1206 0.0958 -0.0170 0.1096 0.0739 0.2028 0.0301 -0.0801 -0.0221 0.0446 -0.0505 -0.0379 -0.0680 -0.0262 0.0580 -0.0528 -0.1006 -0.0365 0.0755 -0.0335 0.0289 -0.0420 0.0112 0.0053
2020-07-01 0.1844 0.0469 0.0382 0.1290 0.1673 0.3200 0.1207 0.0196 0.0390 0.0514 0.0254 0.0517 -0.0554 0.0201 0.0197 0.0458 0.1604 0.0546 -0.0283 0.0319 0.1247 0.2040 0.0690 0.0680
2020-08-01 0.2036 0.0659 0.1163 0.1087 0.2078 0.4683 -0.0044 0.1438 0.0718 0.1124 0.0469 0.0276 -0.0029 0.0188 0.0722 0.0354 -0.0304 0.0332 -0.0220 0.0270 -0.0242 0.0660 0.0700 0.0661
2020-09-01 -0.1704 -0.0987 -0.1316 -0.1211 -0.0058 -0.1376 0.0217 0.0203 0.0819 -0.0361 -0.0214 -0.0466 0.0054 -0.0155 -0.0966 -0.0353 -0.0194 -0.0513 -0.0713 0.0093 -0.0428 -0.1212 -0.0480 -0.0474
2020-10-01 -0.0243 0.0025 0.1259 -0.0168 -0.0536 0.0237 0.1213 0.1509 0.0745 -0.0945 0.0628 0.0130 -0.0904 -0.0158 0.0696 -0.0545 0.0006 -0.0346 0.0373 0.0217 0.0091 0.2742 0.0035 0.0033
2020-11-01 0.1072 0.0489 0.0871 0.0548 0.0281 0.3217 0.1592 0.2342 0.1828 0.0632 0.1466 0.1502 0.2438 0.1592 0.2196 0.0695 0.1481 0.0585 0.1679 0.0599 -0.0501 0.2985 0.0915 0.0855
2020-12-01 0.0654 0.0078 -0.0313 -0.0005 0.0014 0.2288 -0.0660 -0.0700 0.0875 0.0108 0.0482 0.0595 0.0844 0.1602 0.0936 0.0713 -0.0580 0.0023 0.0234 0.0141 0.0719 0.5921 0.0213 0.0187
2021-01-01 0.0299 0.0946 0.0980 0.0490 0.0113 0.1717 0.2275 0.2355 0.0573 0.0593 0.0686 0.0251 0.0072 0.0575 0.0208 0.0182 -0.0610 -0.0419 -0.0172 -0.0178 -0.0606 0.0437 0.0314 0.0272
2021-02-01 -0.0744 -0.0215 0.0730 -0.0882 -0.0112 -0.2402 0.1446 0.0260 0.0877 0.1116 0.1158 0.1354 0.1920 0.1426 0.1350 -0.0077 -0.0324 -0.0654 0.0415 -0.0121 -0.0580 0.3092 0.0098 0.0130
2021-03-01 0.0087 0.0581 0.0678 0.0409 0.0337 0.0075 0.0291 0.1351 -0.0666 0.0135 0.0167 0.1157 0.0704 -0.0079 -0.0213 0.0271 0.0731 0.0483 -0.0232 0.0887 0.0050 0.1847 0.0479 0.0527
2021-04-01 0.0129 -0.0003 0.0432 0.0269 0.0347 -0.0264 -0.1243 -0.1127 -0.0320 0.0385 0.0250 0.0325 0.1379 0.0673 0.0439 0.0265 0.1027 0.0026 0.0898 0.1213 0.0204 -0.0872 0.0206 0.0231
2021-05-01 -0.0266 0.0007 0.0317 -0.0286 0.1251 -0.0766 0.2608 0.0750 0.1031 0.0880 0.0658 0.0458 0.0349 0.0891 0.1127 -0.0072 -0.0272 -0.0107 -0.0149 -0.0113 0.0657 -0.3742 0.0095 0.0097
2021-06-01 0.1334 0.1154 0.0582 0.1328 0.2413 0.0556 -0.0212 -0.0374 0.0172 -0.0988 -0.0792 -0.0645 -0.0831 -0.0301 -0.0208 0.0146 0.0203 0.0937 0.0309 0.0123 -0.0565 -0.0691 0.0380 0.0344
2021-07-01 0.0369 0.0335 0.0721 -0.0880 -0.0436 0.0733 -0.0337 0.0073 0.0707 0.0317 0.0024 -0.0387 0.0740 0.0280 0.0684 0.0375 0.1507 -0.0220 0.0156 0.0280 0.0081 0.1083 0.0179 0.0188
2021-08-01 0.0314 0.0520 0.0647 0.0306 0.1220 0.0360 -0.0732 -0.1663 -0.1056 -0.1454 0.0451 0.0797 -0.0201 0.0836 0.0853 -0.0013 0.0175 -0.0016 0.0382 -0.0134 0.0012 0.2121 0.0237 0.0233
2021-09-01 -0.0732 -0.0444 -0.0618 -0.0747 -0.0902 0.0592 0.0923 0.1032 0.0381 0.0642 0.0530 0.0626 0.0483 -0.0645 -0.0514 -0.0815 -0.0849 0.0762 -0.0980 -0.0529 -0.0305 0.0882 -0.0410 -0.0385
2021-10-01 0.0612 0.1429 0.0669 0.0281 0.2554 0.4064 0.2314 0.0227 0.0993 0.0372 0.0167 0.0795 0.0673 0.0940 0.0536 0.0370 0.0714 0.0870 0.0742 0.1389 0.0155 0.2049 0.0653 0.0644
2021-11-01 0.0985 -0.0058 -0.0246 0.0570 0.2132 -0.0235 0.0685 0.0402 -0.0852 -0.0835 -0.0707 -0.0739 -0.0672 -0.1066 -0.0918 -0.0536 0.1761 -0.1726 -0.0108 -0.0175 -0.0100 -0.1036 -0.0176 -0.0138
2021-12-01 0.0835 -0.0048 0.0175 -0.0457 -0.1093 0.0042 0.2365 0.1275 0.0714 0.1059 0.0551 0.0810 0.0990 0.0725 0.0949 0.0927 0.0148 0.0371 0.1591 0.1032 0.0243 -0.2167 0.0421 0.0506
2022-01-01 -0.0287 -0.0635 -0.0479 -0.1026 -0.1730 -0.2106 -0.1627 -0.1954 -0.2071 -0.0695 -0.0987 -0.0221 0.0526 -0.1127 -0.0030 -0.0012 -0.0271 0.0618 0.0238 -0.0469 -0.0079 -0.1695 -0.0582 -0.0529
2022-02-01 -0.0663 -0.0437 -0.0264 -0.0003 -0.0483 -0.0745 -0.2077 -0.1943 -0.1705 -0.1410 -0.1023 -0.1001 -0.0959 -0.1037 -0.1638 -0.0347 -0.1408 -0.0705 0.0751 0.0166 0.0766 0.1353 -0.0544 -0.0520
2022-03-01 0.0702 0.0526 0.0476 0.0820 0.0996 0.2331 -0.0541 -0.0722 -0.0457 -0.0421 -0.0231 -0.0515 -0.0441 -0.0071 -0.0272 0.0797 0.1133 0.1011 0.1013 0.0865 -0.0132 0.0267 0.0484 0.0509
2022-04-01 -0.0932 -0.0983 -0.1808 -0.2779 -0.2798 -0.1825 -0.0764 -0.0364 -0.0469 0.0282 -0.0731 -0.0779 -0.0859 -0.0291 -0.0181 0.0038 -0.0388 0.0396 -0.0800 -0.0357 -0.0292 -0.1879 -0.0832 -0.0799
2022-05-01 -0.0676 -0.0335 -0.0309 -0.0331 -0.0486 -0.1816 -0.0623 -0.0321 -0.0128 0.0556 0.0721 0.0019 0.0413 0.0380 0.0367 0.0133 0.0814 0.0551 -0.0150 -0.0057 -0.0171 -0.1718 -0.0129 -0.0083
2022-06-01 -0.0501 -0.0337 -0.0044 -0.0574 -0.2212 -0.0811 -0.2000 -0.1781 -0.1589 -0.1745 -0.1605 -0.1689 -0.1323 -0.0890 -0.1238 -0.0078 -0.0267 0.0148 0.0436 0.0204 -0.0381 -0.4540 -0.0744 -0.0737
2022-07-01 0.1225 0.0445 0.0163 0.1672 0.2135 0.2544 0.3027 0.1099 0.1794 0.1341 0.0071 0.0560 0.0670 0.0982 0.0930 -0.0297 -0.0385 -0.0558 -0.0828 0.0581 -0.0043 0.1293 0.0680 0.0661
2022-08-01 -0.0335 -0.0796 -0.0750 -0.0619 -0.3191 -0.0911 0.0013 0.0713 -0.1986 -0.0565 0.0116 0.0006 0.0069 -0.0042 0.0284 -0.0513 -0.0747 -0.0137 -0.0201 -0.0338 -0.0355 -0.1987 -0.0455 -0.0433
2022-09-01 -0.0561 -0.0174 -0.0496 -0.0406 -0.0221 -0.0954 -0.1956 -0.0782 -0.0088 -0.0552 -0.0086 -0.0142 0.0153 -0.0287 -0.0137 0.0148 -0.0288 0.0306 0.0315 0.0137 0.0149 0.0766 -0.0298 -0.0292
2022-10-01 0.0307 -0.0869 -0.1164 -0.2240 0.0282 -0.0907 0.0808 0.0945 0.0385 0.0832 0.1368 0.1115 0.0754 0.1017 -0.0030 0.0441 0.0768 0.1210 0.0442 0.0451 -0.0461 0.0073 0.0162 0.0172
2022-11-01 -0.0511 0.0745 0.0695 -0.0924 0.1659 -0.2366 0.0014 -0.0344 0.0849 0.0943 0.0265 -0.0926 -0.0722 0.0403 0.0539 0.0237 0.0433 0.0879 0.1083 -0.0147 0.0715 -0.1812 0.0223 0.0239
2022-12-01 -0.1333 -0.0229 -0.0845 -0.0279 -0.1102 -0.5089 -0.1284 -0.1148 -0.0702 -0.0139 0.0265 0.0212 -0.0378 -0.0405 -0.0207 0.0118 0.0307 0.0267 -0.0082 -0.0360 0.0370 -0.0243 -0.0299 -0.0290
2023-01-01 0.1430 0.0338 0.1035 0.1837 0.3110 0.4715 0.1456 0.1507 0.1961 0.1605 0.0426 0.0571 0.1147 0.0550 0.1270 -0.0865 -0.1491 -0.0341 -0.0850 -0.0382 0.0477 0.3273 0.0664 0.0652
2023-02-01 0.0229 0.0090 -0.0930 -0.0903 0.1725 0.1719 -0.0516 -0.0149 0.0278 0.0615 0.0239 -0.0338 0.0042 -0.0395 -0.0005 -0.0570 -0.0757 -0.0110 0.0408 -0.0477 -0.0552 0.0003 -0.0266 -0.0255
2023-03-01 0.1165 0.1410 0.1508 0.0982 0.1678 -0.0660 0.0525 -0.0783 -0.0811 -0.0550 -0.1100 -0.1972 -0.2395 -0.0789 -0.1290 0.0336 0.0081 0.0310 0.0375 0.0393 0.1018 0.1963 0.0309 0.0346
2023-04-01 0.0174 0.0615 0.0057 -0.0031 0.0272 -0.1834 -0.0627 -0.0773 -0.0575 -0.0027 0.0864 0.0064 0.0537 0.0327 0.0172 0.0404 -0.0460 0.0800 -0.0433 0.0003 -0.0025 0.0180 0.0033 0.0053
2023-05-01 0.0628 0.0907 0.1896 0.2003 0.3150 0.3225 0.0915 0.0633 -0.0588 -0.0070 0.0030 0.0373 0.0682 -0.0199 0.0036 -0.0349 -0.0071 -0.0692 -0.1129 -0.0119 -0.0280 -0.0516 0.0421 0.0410
2023-06-01 0.0713 0.0128 -0.0600 0.0281 0.0929 0.2346 0.1644 0.1031 0.0764 0.0646 0.0509 0.0069 0.0506 0.0070 0.0064 0.0322 -0.0459 0.0452 -0.0031 -0.0160 -0.0215 0.1221 0.0377 0.0399
2023-07-01 0.0162 -0.0049 0.0927 0.0112 0.0921 -0.0694 -0.1164 -0.0218 0.0608 0.0559 0.0765 0.0796 0.0519 0.0910 0.0511 0.0334 -0.0288 -0.0825 0.1065 0.0547 0.0111 -0.0365 0.0298 0.0282
2023-08-01 -0.0293 -0.0062 0.0316 0.0415 0.0430 -0.0177 -0.1044 -0.1358 -0.0596 -0.1363 -0.0793 -0.0986 -0.0879 -0.0998 -0.0602 -0.0426 0.0046 0.0210 -0.0166 -0.0486 -0.0101 -0.1407 -0.0158 -0.0160
2023-09-01 -0.0956 -0.0623 -0.0249 -0.0959 -0.1093 -0.0396 -0.0017 -0.0561 -0.0869 -0.0396 -0.0173 -0.0922 -0.0716 -0.0477 -0.0838 -0.0338 -0.0427 -0.0481 0.0091 0.0618 -0.0545 0.0620 -0.0637 -0.0600
2023-10-01 -0.0095 0.0759 -0.0651 0.0650 -0.0650 -0.2050 -0.2135 -0.1068 -0.0811 -0.0520 -0.0186 0.0165 0.0280 -0.0082 -0.0968 -0.0461 -0.1037 0.0091 -0.0334 0.0499 0.0846 0.2342 -0.0092 -0.0081
2023-11-01 0.1259 0.0989 0.0542 0.0986 0.1327 0.1728 0.0991 0.1474 -0.0756 -0.1123 0.1275 0.1493 0.1210 0.1183 0.1362 0.0745 -0.0359 0.0338 0.0237 0.0271 0.0165 0.2402 0.0931 0.0878
2023-12-01 -0.0411 -0.0044 0.0534 0.0206 0.0339 0.0398 0.1373 0.1010 0.1091 0.0892 0.0856 0.1110 0.1033 0.1359 0.1581 0.0089 0.0218 0.0711 0.1003 -0.0166 0.0189 0.0197 0.0384 0.0386
2024-01-01 0.0195 0.0892 0.0420 0.1206 0.3481 -0.2942 -0.0074 0.0535 -0.0686 -0.0534 0.0235 -0.0257 -0.0213 -0.0086 -0.0770 -0.0120 -0.0630 0.1137 0.0904 -0.0546 -0.0114 -0.0426 0.0424 0.0441
2024-02-01 -0.1056 -0.0052 -0.0826 0.0290 0.2311 -0.0238 0.0680 0.0666 -0.0582 -0.0842 0.0740 0.0687 0.1658 0.0153 0.0346 0.0196 -0.0530 -0.0324 0.0333 -0.0763 0.0448 0.3926 0.0252 0.0264
2024-03-01 -0.0076 0.0456 0.1527 0.0370 0.0398 -0.0813 0.0542 0.1022 -0.0290 0.1072 0.0532 0.0596 0.0132 0.0551 0.0394 -0.0141 0.0548 0.0657 0.0085 -0.0283 0.0672 0.0255 0.0257 0.0258
2024-04-01 0.0088 -0.0793 0.0518 -0.0320 -0.0347 0.0952 -0.0889 -0.0081 -0.0832 -0.0584 -0.0306 -0.0078 0.0338 0.0396 -0.0204 -0.0870 -0.0726 -0.0087 -0.0959 0.0543 0.0046 -0.0763 -0.0332 -0.0330
2024-05-01 0.1333 0.0682 0.0654 0.0245 0.2983 -0.0475 0.0021 0.0163 0.1656 0.0578 0.0380 0.0697 -0.0048 0.0649 0.0705 0.0300 0.1556 -0.0040 -0.0031 0.0441 0.0159 0.1517 0.0481 0.0513
2024-06-01 0.1252 0.0988 0.0650 0.1090 0.0522 0.2801 0.0675 0.0393 -0.1879 -0.0860 0.0474 0.0371 0.0379 0.0284 0.0313 -0.0120 -0.0579 -0.0018 0.0233 -0.0102 0.0013 -0.1290 0.0418 0.0415
2024-07-01 -0.0610 -0.1392 -0.1572 -0.2112 -0.1627 -0.1420 -0.2746 -0.1451 -0.0056 0.0031 -0.0360 -0.1031 -0.1522 0.0099 -0.0694 0.0849 0.0662 -0.1390 0.1216 0.1317 0.0236 -0.1016 -0.0488 -0.0502
2024-08-01 0.0735 0.0261 -0.0059 0.0847 0.0353 0.0484 0.1312 0.1757 0.0152 0.0379 0.0950 0.0975 0.1163 0.0360 0.0745 0.0578 -0.0354 0.0477 0.0625 0.0520 0.0425 0.0246 0.0565 0.0557
2024-09-01 0.0153 0.0271 0.0607 0.0492 0.0801 0.2031 -0.0212 -0.0732 0.0058 0.0733 -0.0621 -0.0305 -0.0524 0.0114 0.0506 -0.0314 0.0130 -0.0092 -0.0037 -0.0225 0.0644 0.0576 0.0300 0.0326
2024-10-01 -0.0123 -0.0222 0.0163 0.0748 0.1788 -0.0258 -0.0141 0.1794 -0.2442 -0.0423 0.0736 0.0656 0.1456 0.0724 0.1207 -0.0227 -0.0240 -0.1211 0.0316 -0.0283 0.0312 0.1311 0.0173 0.0141
2024-11-01 0.0835 0.0489 0.0094 0.0675 0.0025 0.3348 0.0340 -0.0007 0.0085 -0.0050 0.1001 0.1115 0.1517 0.1333 0.1097 -0.0306 -0.0754 0.0020 -0.1054 0.0652 -0.0381 0.3251 0.0487 0.0461
2024-12-01 0.0315 -0.0228 0.1008 0.0275 -0.0434 0.1390 -0.0889 -0.0050 0.0822 -0.0596 -0.0211 -0.0577 -0.0540 -0.0452 -0.0369 -0.0521 0.0372 -0.0156 -0.0212 -0.1755 -0.0074 -0.0272 -0.0291 -0.0266

ORP weights from Assignment 1

compute_orp <- function(returns_data, rf_rate) {
  R <- as.matrix(returns_data[, -1])
  mu <- colMeans(R)
  Σ <- cov(R)
  asset_names <- colnames(R)

  # Excess returns
  excess_mu <- mu - rf_rate / 52  # convert annual rf to weekly

  invΣ <- solve(Σ)
  numer <- invΣ %*% excess_mu
  denom <- sum(numer)

  weights <- as.vector(numer / denom)
  names(weights) <- asset_names

  # Compute performance (annualized)
  port_return <- sum(weights * mu) * 52
  port_risk <- sqrt(t(weights) %*% Σ %*% weights) * sqrt(52)
  sharpe <- (port_return - rf_rate) / port_risk

  return(list(weights = weights, return = port_return, risk = port_risk, sharpe = sharpe))
}
stock_tickers <- c("AAPL", "MSFT", "GOOGL", "AMZN", "NVDA", "TSLA", "F", "GM", "APTV", "BWA",
                   "JPM", "BAC", "WFC", "GS", "MS", "JNJ", "PFE", "MRK", "UNH", "ABBV")
gold_ticker <- "GLD"
crypto_ticker <- "BTC-USD"
esg_ticker <- "ESGU"

# Subset
returns_full <- weekly_returns %>% select(date, all_of(c(stock_tickers, gold_ticker, crypto_ticker, esg_ticker)))
orp_full <- compute_orp(returns_full, rf_annual)
library(dplyr)
library(knitr)

orp_weights_full <- data.frame(Asset = names(orp_full$weights), Weight = round(orp_full$weights, 4))
kable(orp_weights_full, caption = "ORP Weights: 20 + Gold + Crypto + ESG")
ORP Weights: 20 + Gold + Crypto + ESG
Asset Weight
AAPL AAPL 0.4541
MSFT MSFT 0.2306
GOOGL GOOGL 0.2956
AMZN AMZN -0.1379
NVDA NVDA 0.6265
TSLA TSLA 0.1374
F F -0.0160
GM GM 0.0268
APTV APTV -0.5436
BWA BWA -0.1456
JPM JPM 0.9576
BAC BAC -0.7188
WFC WFC -0.0274
GS GS 0.8284
MS MS 0.3381
JNJ JNJ -0.1422
PFE PFE -0.3292
MRK MRK 0.3148
UNH UNH 0.3228
ABBV ABBV 0.7029
GLD GLD 0.6928
BTC-USD BTC-USD 0.1482
ESGU ESGU -3.0158

1. Style Analysis

1.1. Importing Fama-French Factors and defining asset classes

# Defining asset classes by tickers
asset_classes <- list(
  Tech        = c("AAPL", "MSFT", "GOOGL", "AMZN", "NVDA"),
  Automotive  = c("TSLA", "F", "GM", "APTV", "BWA"),
  Financial   = c("JPM", "BAC", "WFC", "GS", "MS"),
  Healthcare  = c("JNJ", "PFE", "MRK", "ABBV", "UNH"),
  Commodity   = c("GLD"),
  Crypto      = c("BTC-USD"),
  ESG         = c("ESGU")
)
orp_weights_named <- setNames(orp_weights_full$Weight, orp_weights_full$Asset)
excess_returns_list <- list()

for (class in names(asset_classes)) {
  tickers <- asset_classes[[class]]
  valid_tickers <- tickers[tickers %in% colnames(returns_full)]

  # Subset returns and weights
  class_returns <- returns_full %>%
    select(all_of(valid_tickers)) %>%
    as.matrix()

  class_weights <- orp_weights_named[valid_tickers]
  class_weights <- class_weights / sum(class_weights)  # normalize weights within class

  # Compute class return and excess return
  class_series <- as.numeric(class_returns %*% class_weights)
  excess_returns_list[[class]] <- class_series - rf_weekly
}
returns_all <- returns_full %>% select(-date) %>% as.matrix()
orp_vector <- as.numeric(orp_weights_named[colnames(returns_all)])
portfolio_returns <- returns_all %*% orp_vector
excess_returns_list$Portfolio <- as.numeric(portfolio_returns) - rf_weekly
excess_returns_df <- as.data.frame(excess_returns_list)
excess_returns_df$date <- returns_full$date
excess_returns_df <- excess_returns_df %>% relocate(date)
library(dplyr)
library(lubridate)

str(excess_returns_df)
## 'data.frame':    260 obs. of  9 variables:
##  $ date      : Date, format: "2020-01-08" "2020-01-15" ...
##  $ Tech      : num  0.03841 0.01484 -0.00256 0.00253 0.04284 ...
##  $ Automotive: num  -0.06382 0.00948 -0.05925 -0.1124 0.03311 ...
##  $ Financial : num  0.04438 0.01976 -0.01241 -0.00335 -0.00868 ...
##  $ Healthcare: num  -0.02007 0.0187 -0.05294 0.00974 0.09591 ...
##  $ Commodity : num  -0.01584 0.00687 0.00594 -0.00867 0.00806 ...
##  $ Crypto    : num  0.0779 -0.00962 0.0674 -0.01947 0.10576 ...
##  $ ESG       : num  0.0165 0.0121 -0.012 0.0098 0.0167 ...
##  $ Portfolio : num  0.0856 0.0269 0.0156 0.0299 0.0874 ...
class(excess_returns_df$date) 
## [1] "Date"
monthly_excess_returns <- excess_returns_df %>%
  mutate(date = as.Date(date)) %>%                     
  mutate(month = floor_date(date, unit = "month")) %>% 
  group_by(month) %>%
  summarise(across(where(is.numeric), mean, na.rm = TRUE), .groups = "drop")
## Warning: There was 1 warning in `summarise()`.
## ℹ In argument: `across(where(is.numeric), mean, na.rm = TRUE)`.
## ℹ In group 1: `month = 2020-01-01`.
## Caused by warning:
## ! The `...` argument of `across()` is deprecated as of dplyr 1.1.0.
## Supply arguments directly to `.fns` through an anonymous function instead.
## 
##   # Previously
##   across(a:b, mean, na.rm = TRUE)
## 
##   # Now
##   across(a:b, \(x) mean(x, na.rm = TRUE))
# Loading locally saved Fama-French CSV
ff_raw <- read.csv("~/Program R/Investments/F-F_Research_Data_5_Factors_2x3.csv", skip = 3)

ff_clean <- ff_raw %>%
  rename_with(~ str_trim(.x)) %>%
  filter(!is.na(X)) %>%
  rename(Date = X) %>%
  mutate(Date = as.Date(paste0(Date, "01"), format = "%Y%m%d")) %>%
  filter(Date >= as.Date("2020-01-01") & Date <= as.Date("2024-12-31")) %>%
  mutate(across(-Date, ~ as.numeric(.x) / 100))  # convert to decimals

1.2. Regression of excess returns on Fama-French factors

monthly_excess_returns_df <- monthly_excess_returns %>%
  rename(Date = month)

regression_data <- left_join(monthly_excess_returns_df, ff_clean, by = "Date")
regression_data <- left_join(monthly_excess_returns_df, ff_clean, by = "Date")
# Factors to use
factor_names <- c("Mkt.RF", "SMB", "HML", "RMW", "CMA")

# Running regression for each class
library(broom)

reg_results <- lapply(names(excess_returns_df)[-1], function(class_name) {
  formula <- as.formula(paste(class_name, "~", paste(factor_names, collapse = " + ")))
  model <- lm(formula, data = regression_data)
  tidy(model) %>%
    mutate(AssetClass = class_name,
           R2 = summary(model)$r.squared)
})

# Combine results
regression_output <- bind_rows(reg_results)
library(dplyr)
library(knitr)

print_regression_table <- function(data, class_name) {
  filtered <- data %>% filter(AssetClass == class_name)
  kable(filtered, caption = paste("Regression Results for", class_name), digits = 4)
}

print_regression_table(regression_output, "Tech")
Regression Results for Tech
term estimate std.error statistic p.value AssetClass R2
(Intercept) 0.0040 0.0016 2.4788 0.0163 Tech 0.6716
Mkt.RF 0.2662 0.0323 8.2495 0.0000 Tech 0.6716
SMB -0.0984 0.0633 -1.5545 0.1259 Tech 0.6716
HML -0.1053 0.0543 -1.9397 0.0576 Tech 0.6716
RMW 0.0385 0.0716 0.5380 0.5928 Tech 0.6716
CMA -0.1042 0.0760 -1.3709 0.1761 Tech 0.6716
print_regression_table(regression_output, "Automotive")
Regression Results for Automotive
term estimate std.error statistic p.value AssetClass R2
(Intercept) -0.0082 0.0031 -2.6912 0.0095 Automotive 0.5092
Mkt.RF 0.1505 0.0605 2.4879 0.0160 Automotive 0.5092
SMB 0.4152 0.1186 3.4993 0.0009 Automotive 0.5092
HML 0.1261 0.1018 1.2386 0.2209 Automotive 0.5092
RMW 0.4553 0.1342 3.3928 0.0013 Automotive 0.5092
CMA -0.1640 0.1425 -1.1509 0.2548 Automotive 0.5092
print_regression_table(regression_output, "Financial")
Regression Results for Financial
term estimate std.error statistic p.value AssetClass R2
(Intercept) 0.0025 0.0016 1.5029 0.1387 Financial 0.6308
Mkt.RF 0.2259 0.0323 6.9934 0.0000 Financial 0.6308
SMB 0.0603 0.0634 0.9522 0.3452 Financial 0.6308
HML 0.1343 0.0544 2.4708 0.0167 Financial 0.6308
RMW -0.0552 0.0717 -0.7696 0.4449 Financial 0.6308
CMA -0.0881 0.0761 -1.1585 0.2517 Financial 0.6308
print_regression_table(regression_output, "Healthcare")
Regression Results for Healthcare
term estimate std.error statistic p.value AssetClass R2
(Intercept) 0.0032 0.0019 1.7296 0.0894 Healthcare 0.1802
Mkt.RF 0.0981 0.0368 2.6660 0.0101 Healthcare 0.1802
SMB -0.0034 0.0722 -0.0470 0.9627 Healthcare 0.1802
HML 0.0476 0.0619 0.7686 0.4455 Healthcare 0.1802
RMW -0.0674 0.0816 -0.8260 0.4125 Healthcare 0.1802
CMA 0.0567 0.0867 0.6540 0.5159 Healthcare 0.1802
print_regression_table(regression_output, "Commodity")
Regression Results for Commodity
term estimate std.error statistic p.value AssetClass R2
(Intercept) 0.0009 0.0014 0.6687 0.5066 Commodity 0.0773
Mkt.RF 0.0462 0.0269 1.7192 0.0913 Commodity 0.0773
SMB -0.0705 0.0527 -1.3391 0.1861 Commodity 0.0773
HML 0.0063 0.0452 0.1399 0.8893 Commodity 0.0773
RMW -0.0024 0.0596 -0.0401 0.9682 Commodity 0.0773
CMA 0.0061 0.0632 0.0965 0.9235 Commodity 0.0773
print_regression_table(regression_output, "Crypto")
Regression Results for Crypto
term estimate std.error statistic p.value AssetClass R2
(Intercept) 0.0081 0.0048 1.6729 0.1001 Crypto 0.3999
Mkt.RF 0.4084 0.0956 4.2704 0.0001 Crypto 0.3999
SMB -0.0449 0.1875 -0.2396 0.8116 Crypto 0.3999
HML 0.1752 0.1609 1.0883 0.2813 Crypto 0.3999
RMW -0.4612 0.2121 -2.1740 0.0341 Crypto 0.3999
CMA -0.3937 0.2252 -1.7480 0.0861 Crypto 0.3999
print_regression_table(regression_output, "ESG")
Regression Results for ESG
term estimate std.error statistic p.value AssetClass R2
(Intercept) 0.0001 0.0007 0.1493 0.8819 ESG 0.838
Mkt.RF 0.2053 0.0135 15.2183 0.0000 ESG 0.838
SMB -0.0474 0.0265 -1.7915 0.0788 ESG 0.838
HML 0.0171 0.0227 0.7552 0.4534 ESG 0.838
RMW -0.0365 0.0299 -1.2194 0.2280 ESG 0.838
CMA -0.0403 0.0318 -1.2677 0.2104 ESG 0.838
print_regression_table(regression_output, "Portfolio")
Regression Results for Portfolio
term estimate std.error statistic p.value AssetClass R2
(Intercept) 0.0181 0.0030 6.0042 0.0000 Portfolio 0.2275
Mkt.RF 0.1795 0.0596 3.0117 0.0039 Portfolio 0.2275
SMB -0.2015 0.1169 -1.7238 0.0905 Portfolio 0.2275
HML -0.0179 0.1003 -0.1782 0.8593 Portfolio 0.2275
RMW -0.2843 0.1322 -2.1502 0.0360 Portfolio 0.2275
CMA -0.0692 0.1404 -0.4927 0.6242 Portfolio 0.2275

2. Performance Attribution Evaluation

2.1. Seting up benchmark portfolio (equally weighted between 4 industries, crypto, commodity and ESG)

# 1. Defining asset class groups
weights_by_class <- list(
  Tech        = c("AAPL", "MSFT", "GOOGL", "AMZN", "NVDA"),
  Automotive  = c("TSLA", "F", "GM", "APTV", "BWA"),
  Financial   = c("JPM", "BAC", "WFC", "GS", "MS"),
  Healthcare  = c("JNJ", "PFE", "MRK", "ABBV", "UNH"),
  Commodity   = "GLD",
  Crypto      = "BTC-USD",
  ESG         = "ESGU"
)

# 2. Aggregating actual ORP weights by asset class
library(dplyr)

class_weights <- sapply(weights_by_class, function(tickers) {
  weights <- orp_weights_full %>%
    filter(Asset %in% tickers) %>%
    pull(Weight)
  sum(weights)
})

# 3. Calculating average returns by class and benchmark
excess_returns_df <- excess_returns_df %>%
  mutate(Benchmark = rowMeans(select(., names(weights_by_class))))
avg_returns <- excess_returns_df %>%
  summarise(across(where(is.numeric), mean, na.rm = TRUE))

# 4. Creating comparison table with Benchmark column defined
benchmark_return <- rep(as.numeric(avg_returns$Benchmark[1]), 7)
benchmark_vs_actual <- tibble(
  AssetClass        = names(class_weights),
  Portfolio_Weight  = round(as.numeric(class_weights), 4),
  Benchmark_Weight  = round(rep(1/7, 7), 4),
  Portfolio_Return  = round(as.numeric(avg_returns[names(class_weights)]), 4),
  Benchmark_Return  = round(benchmark_return, 4)
) # replicate value for each row

library(knitr)
kable(benchmark_vs_actual, caption = "Portfolio vs Benchmark Inputs for Performance Attribution", digits = 4)
Portfolio vs Benchmark Inputs for Performance Attribution
AssetClass Portfolio_Weight Benchmark_Weight Portfolio_Return Benchmark_Return
Tech 1.4689 0.1429 0.0074 0.0034
Automotive -0.5410 0.1429 -0.0045 0.0034
Financial 1.3779 0.1429 0.0042 0.0034
Healthcare 0.8691 0.1429 0.0039 0.0034
Commodity 0.6928 0.1429 0.0016 0.0034
Crypto 0.1482 0.1429 0.0091 0.0034
ESG -3.0158 0.1429 0.0022 0.0034

2.2. Portfolio decomposition

# 1. Decomposing performance attribution
benchmark_vs_actual <- benchmark_vs_actual %>%
  mutate(
    Allocation  = (Portfolio_Weight - Benchmark_Weight) * Benchmark_Return,
    Selection   = Benchmark_Weight * (Portfolio_Return - Benchmark_Return),
    Interaction = (Portfolio_Weight - Benchmark_Weight) * (Portfolio_Return - Benchmark_Return),
    Total       = Allocation + Selection + Interaction
  )

library(knitr)
kable(benchmark_vs_actual, caption = "Performance Attribution Breakdown", digits = 4)
Performance Attribution Breakdown
AssetClass Portfolio_Weight Benchmark_Weight Portfolio_Return Benchmark_Return Allocation Selection Interaction Total
Tech 1.4689 0.1429 0.0074 0.0034 0.0045 0.0006 0.0053 0.0104
Automotive -0.5410 0.1429 -0.0045 0.0034 -0.0023 -0.0011 0.0054 0.0019
Financial 1.3779 0.1429 0.0042 0.0034 0.0042 0.0001 0.0010 0.0053
Healthcare 0.8691 0.1429 0.0039 0.0034 0.0025 0.0001 0.0004 0.0029
Commodity 0.6928 0.1429 0.0016 0.0034 0.0019 -0.0003 -0.0010 0.0006
Crypto 0.1482 0.1429 0.0091 0.0034 0.0000 0.0008 0.0000 0.0009
ESG -3.0158 0.1429 0.0022 0.0034 -0.0107 -0.0002 0.0038 -0.0071
# 3. Optional: Total excess return check
excess_total <- sum(benchmark_vs_actual$Total)
cat("Total Excess Return from Attribution:", round(excess_total, 4), "\n")
## Total Excess Return from Attribution: 0.0149

  • Allocation_i = (w_P,i - w_B,i) * r_B,i
  • Selection_i = w_B,i * (r_P,i - r_B,i)
  • Interaction_i = (w_P,i - w_B,i) * (r_P,i - r_B,i)
w_p <- as.numeric(benchmark_vs_actual$Portfolio_Weight)
w_b <- as.numeric(benchmark_vs_actual$Benchmark_Weight)
r_p <- as.numeric(benchmark_vs_actual$Portfolio_Return)
r_b <- as.numeric(benchmark_vs_actual$Benchmark_Return)

# Decomposition
allocation_effect <- (w_p - w_b) * r_b
selection_effect  <- w_b * (r_p - r_b)
interaction_effect <- (w_p - w_b) * (r_p - r_b)

decomp_table <- tibble(
  AssetClass = benchmark_vs_actual$AssetClass,
  Allocation = round(allocation_effect, 4),
  Selection = round(selection_effect, 4),
  Interaction = round(interaction_effect, 4),
  Total_Contribution = round(allocation_effect + selection_effect + interaction_effect, 4)
)

library(knitr)
kable(decomp_table, caption = "Performance Attribution: Allocation, Selection, and Interaction Effects")
Performance Attribution: Allocation, Selection, and Interaction Effects
AssetClass Allocation Selection Interaction Total_Contribution
Tech 0.0045 0.0006 0.0053 0.0104
Automotive -0.0023 -0.0011 0.0054 0.0019
Financial 0.0042 0.0001 0.0010 0.0053
Healthcare 0.0025 0.0001 0.0004 0.0029
Commodity 0.0019 -0.0003 -0.0010 0.0006
Crypto 0.0000 0.0008 0.0000 0.0009
ESG -0.0107 -0.0002 0.0038 -0.0071
# Portfolio and benchmark weights/returns
w_p <- as.numeric(benchmark_vs_actual$Portfolio_Weight)
w_b <- as.numeric(benchmark_vs_actual$Benchmark_Weight)
r_p <- as.numeric(benchmark_vs_actual$Portfolio_Return)
r_b <- as.numeric(benchmark_vs_actual$Benchmark_Return)

# Calculate attribution components
allocation <- (w_p - w_b) * r_b
selection  <- w_b * (r_p - r_b)

# Attribution table
attr_table <- tibble(
  AssetClass = benchmark_vs_actual$AssetClass,
  Allocation = round(allocation, 5),
  Selection  = round(selection, 5),
  Contribution = round(allocation + selection, 5)
)

# Summary values
total_allocation <- sum(allocation)
total_selection  <- sum(selection)
total_excess_return <- sum(allocation + selection)

summary_row <- tibble(
  AssetClass = "Total",
  Allocation = round(total_allocation, 5),
  Selection  = round(total_selection, 5),
  Contribution = round(total_excess_return, 5)
)

# Combine and show
attr_final <- bind_rows(attr_table, summary_row)

library(knitr)
kable(attr_final, caption = "Performance Attribution (Allocation & Selection Effects Only)", digits = 5)
Performance Attribution (Allocation & Selection Effects Only)
AssetClass Allocation Selection Contribution
Tech 0.00451 0.00057 0.00508
Automotive -0.00233 -0.00113 -0.00345
Financial 0.00420 0.00011 0.00431
Healthcare 0.00247 0.00007 0.00254
Commodity 0.00187 -0.00026 0.00161
Crypto 0.00002 0.00081 0.00083
ESG -0.01074 -0.00017 -0.01091
Total 0.00000 0.00001 0.00001

2.3. Summary and interpretation

# Libraries
library(tidyverse)
library(knitr)

# ---- Inputs ----
# Assume these already exist in your environment
# class_weights: named vector of portfolio weights by asset class
# avg_returns: data frame with average returns per asset class
# benchmark_return: average return of benchmark
# class_names: names of asset classes (should match names(class_weights))

# 1. Prepare Inputs
portfolio_weights <- as.numeric(class_weights)
benchmark_weights <- rep(1/length(class_weights), length(class_weights))  # equally weighted
portfolio_returns <- as.numeric(avg_returns[names(class_weights)])
benchmark_returns <- rep(as.numeric(avg_returns[["Benchmark"]]), length(class_weights))
class_names <- names(class_weights)

# 2. Calculate Effects
allocation_effect <- (portfolio_weights - benchmark_weights) * (benchmark_returns - benchmark_return)
selection_effect <- benchmark_weights * (portfolio_returns - benchmark_returns)
interaction_effect <- (portfolio_weights - benchmark_weights) * (portfolio_returns - benchmark_returns)

# 3. Combine into Data Frame
performance_attribution <- tibble(
  AssetClass = class_names,
  Allocation = allocation_effect,
  Selection = selection_effect,
  Interaction = interaction_effect
)

# 4. Reshape for Plotting
plot_data <- performance_attribution %>%
  pivot_longer(cols = c(Allocation, Selection, Interaction), names_to = "Effect", values_to = "Value")

# 5. Visualization
ggplot(plot_data, aes(x = AssetClass, y = Value, fill = Effect)) +
  geom_bar(stat = "identity", position = "stack") +
  labs(title = "Performance Attribution by Asset Class",
       subtitle = "Decomposed into Allocation, Selection, and Interaction Effects",
       y = "Effect on Total Return", x = "Asset Class") +
  theme_minimal() +
  scale_fill_brewer(palette = "Set2")

Interpretation

In our analysis, we decomposed the portfolio’s relative performance into three core attribution effects: allocation, selection, and interaction. The allocation effect represents our decision to overweight or underweight asset classes relative to the benchmark. The selection effect captures our ability to pick securities that outperformed within each class. The interaction effect reflects the compounded impact of making both allocation and selection decisions simultaneously.

Our largest positive contributor was the Tech sector, with a total contribution of +0.0104. This gain was driven by a strong allocation effect of +0.0045, a modest but positive selection effect of +0.0006, and a significant interaction effect of +0.0053. This suggests that both our overweight position and asset selection in Tech created meaningful value. Similarly, the Financial sector contributed +0.0053, largely thanks to allocation (+0.0042) and interaction (+0.0010), affirming the strength of our positioning and security choices in that segment.

Healthcare added +0.0029, with allocation (+0.0025) being the primary source of value, supplemented by small positive selection (+0.0001) and interaction (+0.0004) effects. The Automotive sector, despite having negative allocation (-0.0023) and selection (-0.0011) effects, still produced a total contribution of +0.0019, driven entirely by a strong interaction effect of +0.0054. This outcome highlights the subtle synergy between allocation and selection decisions in that class.

Commodity and Crypto were smaller contributors. Commodity added +0.0006, where positive allocation (+0.0019) was partially offset by negative selection (-0.0003) and interaction (-0.0010). Crypto returned +0.0009, driven solely by selection (+0.0008)—suggesting we made sound asset picks even without an active weighting in that space.

The largest detractor was ESG, with a total contribution of -0.0071. This was primarily due to a large negative allocation effect (-0.0107), indicating we were significantly overweighted in an underperforming segment. The selection effect (-0.0002) had minimal impact, while the interaction effect (+0.0038) helped mitigate losses but couldn’t fully offset them.

Overall, this performance attribution reveals that our portfolio’s outperformance was largely driven by effective allocation and interaction in Tech and Financials, along with strong selection in Crypto. At the same time, it flags a critical area for improvement—our overexposure to ESG, which hurt performance due to poor timing and weak relative returns. These insights will guide our future rebalancing decisions and help refine both our top-down and bottom-up investment processes.