Goal

Examine how each asset contributes to portfolio standard deviation. This is to ensure that our risk is not concentrated in any one asset.

five stocks: “SPY”, “EFA”, “IJS”, “EEM”, “AGG” from 2012-12-31 to 2017-12-31

1 Import stock prices

2 Convert prices to returns

3 Component Contribution Step-by-Step

Refresh your memory on covariance with this video. Click this link Refresh your memory on matrix multiplication. Click this link

##                      AGG           EEM           EFA          IJS           SPY
## 2013-01-31 -0.0062317208 -0.0029354875  0.0366061785  0.052133152  4.992317e-02
## 2013-02-28  0.0058917673 -0.0231055142 -0.0129693163  0.016175419  1.267801e-02
## 2013-03-28  0.0009844258 -0.0102347913  0.0129693163  0.040258025  3.726759e-02
## 2013-04-30  0.0096397820  0.0120845233  0.0489676419  0.001222716  1.903076e-02
## 2013-05-31 -0.0202138488 -0.0494830041 -0.0306554780  0.041976226  2.333506e-02
## 2013-06-28 -0.0157785455 -0.0547284133 -0.0271445624 -0.001403280 -1.343440e-02
## 2013-07-31  0.0026875495  0.0131595513  0.0518602842  0.063541386  5.038596e-02
## 2013-08-30 -0.0082975582 -0.0257057192 -0.0197460742 -0.034743448 -3.045106e-02
## 2013-09-30  0.0111434061  0.0695887104  0.0753385162  0.063873838  3.115587e-02
## 2013-10-31  0.0082923395  0.0408613614  0.0320814278  0.034233883  4.526668e-02
## 2013-11-29 -0.0025095216 -0.0025941842  0.0054499821  0.041661167  2.920672e-02
## 2013-12-31 -0.0055836256 -0.0040742983  0.0215277945  0.012892271  2.559648e-02
## 2014-01-31  0.0152918933 -0.0903226418 -0.0534132330 -0.035775137 -3.588482e-02
## 2014-02-28  0.0037566362  0.0332206228  0.0595051302  0.045257127  4.451034e-02
## 2014-03-31 -0.0014816162  0.0380219656 -0.0046025125  0.013315630  8.261086e-03
## 2014-04-30  0.0081829856  0.0077725358  0.0165291560 -0.023184419  6.927493e-03
## 2014-05-30  0.0117221907  0.0290913131  0.0158285988  0.006205167  2.294164e-02
## 2014-06-30 -0.0005756265  0.0237338631  0.0091655874  0.037718747  2.043435e-02
## 2014-07-31 -0.0025124322  0.0135553751 -0.0263800981 -0.052009415 -1.352856e-02
## 2014-08-29  0.0114307138  0.0279047226  0.0018005675  0.043658023  3.870428e-02
## 2014-09-30 -0.0061674251 -0.0808565712 -0.0395984736 -0.061260603 -1.389213e-02
## 2014-10-31  0.0105843038  0.0140964769 -0.0026549788  0.068874664  2.327830e-02
## 2014-11-28  0.0065490887 -0.0155414225  0.0006254683  0.004773972  2.710122e-02
## 2014-12-31  0.0014750789 -0.0404421892 -0.0407467277  0.025295699 -2.539795e-03
## 2015-01-30  0.0203150036 -0.0068956111  0.0062264360 -0.054627808 -3.007693e-02
## 2015-02-27 -0.0089878076  0.0431362635  0.0614504852  0.056914761  5.468175e-02
## 2015-03-31  0.0037401180 -0.0150862293 -0.0143888588  0.010156059 -1.583056e-02
## 2015-04-30 -0.0032332228  0.0662810734  0.0358166858 -0.018417695  9.786010e-03
## 2015-05-29 -0.0043832772 -0.0419107722  0.0019527051  0.007510031  1.277447e-02
## 2015-06-30 -0.0108257018 -0.0297466055 -0.0316788872  0.004171324 -2.052142e-02
## 2015-07-31  0.0085844016 -0.0651783286  0.0201146038 -0.027375337  2.233777e-02
## 2015-08-31 -0.0033635780 -0.0925122576 -0.0771525177 -0.047268509 -6.288648e-02
## 2015-09-30  0.0080816472 -0.0318250977 -0.0451945902 -0.038464844 -2.584702e-02
## 2015-10-30  0.0006855528  0.0618084181  0.0640257751  0.063590009  8.163470e-02
## 2015-11-30 -0.0038984698 -0.0255604343 -0.0075558661  0.024415158  3.648529e-03
## 2015-12-31 -0.0019193765 -0.0389470944 -0.0235951082 -0.052157146 -1.743367e-02
## 2016-01-29  0.0123305884 -0.0516367829 -0.0567577290 -0.060306767 -5.106856e-02
## 2016-02-29  0.0088312454 -0.0082115130 -0.0339139029  0.020605472 -8.263948e-04
## 2016-03-31  0.0087087644  0.1218790090  0.0637453579  0.089910119  6.510029e-02
## 2016-04-29  0.0025462430  0.0040794177  0.0219753987  0.021044191  3.933329e-03
## 2016-05-31  0.0001354593 -0.0376287644 -0.0008559494  0.004397029  1.686854e-02
## 2016-06-30  0.0191671143  0.0445823660 -0.0244918274  0.008292428  3.469966e-03
## 2016-07-29  0.0054294663  0.0524421985  0.0390004318  0.049348227  3.582191e-02
## 2016-08-31 -0.0021568129  0.0087987457  0.0053266538  0.011261073  1.196874e-03
## 2016-09-30  0.0005166061  0.0248727001  0.0132793618  0.008614669  5.807384e-05
## 2016-10-31 -0.0082048149 -0.0083121374 -0.0224039034 -0.038134971 -1.748916e-02
## 2016-11-30 -0.0259901973 -0.0451619191 -0.0179742849  0.125246644  3.617609e-02
## 2016-12-30  0.0025378434 -0.0025300012  0.0267028218  0.031491637  2.006885e-02
## 2017-01-31  0.0021264818  0.0644313979  0.0323819068 -0.012143552  1.773651e-02
## 2017-02-28  0.0064379418  0.0172580732  0.0118363679  0.013428377  3.853949e-02
## 2017-03-31 -0.0005531263  0.0361886264  0.0318056790 -0.006532612  1.249149e-03
## 2017-04-28  0.0090291335  0.0168667641  0.0239522497  0.005107342  9.877130e-03
## 2017-05-31  0.0068476548  0.0280596317  0.0348102606 -0.022862358  1.401421e-02
## 2017-06-30 -0.0001823759  0.0092241522  0.0029557902  0.029151535  6.354901e-03
## 2017-07-31  0.0033341084  0.0565943065  0.0261881245  0.007481698  2.034567e-02
## 2017-08-31  0.0093692580  0.0232437311 -0.0004483676 -0.027564820  2.913520e-03
## 2017-09-29 -0.0057324633 -0.0004461869  0.0233427076  0.082321968  1.994908e-02
## 2017-10-31  0.0009778076  0.0322785215  0.0166535684  0.005916135  2.329071e-02
## 2017-11-30 -0.0014836443 -0.0038970512  0.0068699273  0.036912840  3.010781e-02
## 2017-12-29  0.0047397500  0.0369254581  0.0133985591 -0.003731158  1.205525e-02
##               AGG          EEM          EFA           IJS           SPY
## AGG  7.398493e-05 0.0001042088 4.178053e-05 -7.812289e-05 -9.032626e-06
## EEM  1.042088e-04 0.0017547096 1.039015e-03  6.437759e-04  6.795436e-04
## EFA  4.178053e-05 0.0010390153 1.064236e-03  6.490303e-04  6.975404e-04
## IJS -7.812289e-05 0.0006437759 6.490303e-04  1.565450e-03  8.290235e-04
## SPY -9.032626e-06 0.0006795436 6.975404e-04  8.290235e-04  7.408272e-04
##            [,1]
## [1,] 0.02347489
##               AGG         EEM         EFA        IJS         SPY
## [1,] 0.0003874001 0.009257147 0.005815629 0.00568447 0.002330248
## [1] 0.02347489
## # A tibble: 1 × 5
##     AGG   EEM   EFA   IJS   SPY
##   <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 0.017 0.394 0.248 0.242 0.099
## # A tibble: 5 × 2
##   asset contribution
##   <chr>        <dbl>
## 1 AGG          0.017
## 2 EEM          0.394
## 3 EFA          0.248
## 4 IJS          0.242
## 5 SPY          0.099

4 Component Contribution with a Custom Function

## # A tibble: 1 × 5
##     AGG   EEM   EFA   IJS   SPY
##   <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 0.017 0.394 0.248 0.242 0.099

5 Visualizing Component Contribution