This is a note from Matt’s PP slides https://github.com/business-science/presentations/blob/master/2019_05_17_RFinance_Tidyquant_Portfolio_Optimization/R_Finance_tidyquant_matt_dancho.pdf?utm_source=Business+Science+-+Combined+List&utm_campaign=7407a74aed-RFINANCE_TALK_EMAIL&utm_medium=email&utm_term=0_a4e5b7c52f-7407a74aed-62996495&mc_cid=7407a74aed&mc_eid=d9cda1f377

Overview Tidyquant is a workflow that manages the process of systematically evaluating stocks & portfolios.

Import

## # A tibble: 5,032 x 8
##    symbol date        open  high   low close   volume adjusted
##    <chr>  <date>     <dbl> <dbl> <dbl> <dbl>    <dbl>    <dbl>
##  1 AAPL   2014-11-19  115.  116.  114.  115. 41869200     105.
##  2 AAPL   2014-11-20  115.  117.  115.  116. 43395500     107.
##  3 AAPL   2014-11-21  118.  118.  116.  116. 57179300     107.
##  4 AAPL   2014-11-24  117.  119.  117.  119. 47450800     109.
##  5 AAPL   2014-11-25  119.  120.  117.  118. 68840400     108.
##  6 AAPL   2014-11-26  118.  119.  118.  119  40768300     109.
##  7 AAPL   2014-11-28  119.  119.  118.  119. 24814400     109.
##  8 AAPL   2014-12-01  119.  119.  111.  115. 83814000     106.
##  9 AAPL   2014-12-02  114.  116.  113.  115. 59348900     105.
## 10 AAPL   2014-12-03  116.  116.  115.  116. 43063400     107.
## # … with 5,022 more rows

Manipulate

## # A tibble: 244 x 3
## # Groups:   symbol [4]
##    symbol date             Ra
##    <chr>  <date>        <dbl>
##  1 AAPL   2014-11-28  0.0372 
##  2 AAPL   2014-12-31 -0.0719 
##  3 AAPL   2015-01-30  0.0614 
##  4 AAPL   2015-02-27  0.101  
##  5 AAPL   2015-03-31 -0.0314 
##  6 AAPL   2015-04-30  0.00579
##  7 AAPL   2015-05-29  0.0453 
##  8 AAPL   2015-06-30 -0.0372 
##  9 AAPL   2015-07-31 -0.0329 
## 10 AAPL   2015-08-31 -0.0662 
## # … with 234 more rows
## # A tibble: 72 x 2
##    date            Rb
##    <date>       <dbl>
##  1 2010-01-29 -0.0522
##  2 2010-02-26  0.0285
##  3 2010-03-31  0.0588
##  4 2010-04-30  0.0148
##  5 2010-05-28 -0.0820
##  6 2010-06-30 -0.0539
##  7 2010-07-30  0.0688
##  8 2010-08-31 -0.0474
##  9 2010-09-30  0.0876
## 10 2010-10-29  0.0369
## # … with 62 more rows

Aggregate

## # A tibble: 24,400 x 4
## # Groups:   portfolio [100]
##    portfolio symbol date             Ra
##        <int> <chr>  <date>        <dbl>
##  1         1 AAPL   2014-11-28  0.0372 
##  2         1 AAPL   2014-12-31 -0.0719 
##  3         1 AAPL   2015-01-30  0.0614 
##  4         1 AAPL   2015-02-27  0.101  
##  5         1 AAPL   2015-03-31 -0.0314 
##  6         1 AAPL   2015-04-30  0.00579
##  7         1 AAPL   2015-05-29  0.0453 
##  8         1 AAPL   2015-06-30 -0.0372 
##  9         1 AAPL   2015-07-31 -0.0329 
## 10         1 AAPL   2015-08-31 -0.0662 
## # … with 24,390 more rows
## [1] 4
## [1] 0.06385721 0.32707606 0.36002330 0.24904342
##   [1] 0.0638572143 0.3270760642 0.3600233037 0.2490434179 0.6674315634
##   [6] 0.2812545360 0.0501059340 0.0012079666 0.1122350958 0.1959934116
##  [11] 0.3311331158 0.3606383768 0.5903503322 0.1272768204 0.0795177051
##  [16] 0.2028551423 0.2308615067 0.0173753274 0.1634960172 0.5882671487
##  [21] 0.3082213739 0.1453592710 0.1542007509 0.3922186042 0.5221402226
##  [26] 0.1136128758 0.0571468936 0.3071000080 0.0857777279 0.1086572618
##  [31] 0.0029123276 0.8026526826 0.1588861502 0.0373885813 0.0904070712
##  [36] 0.7133181973 0.2895722860 0.5544818575 0.1414887353 0.0144571213
##  [41] 0.1807254998 0.6159227681 0.0351519424 0.1681997897 0.2389462919
##  [46] 0.5176046358 0.0284469591 0.2150021133 0.3562180211 0.0612660043
##  [51] 0.2592602654 0.3232557091 0.1504051252 0.3887717656 0.0366459757
##  [56] 0.4241771335 0.2422919362 0.1937056242 0.2236178115 0.3403846282
##  [61] 0.2298394081 0.4745642522 0.0799189829 0.2156773568 0.0375024606
##  [66] 0.5883775263 0.0470416916 0.3270783215 0.0067017451 0.4451984253
##  [71] 0.1536047696 0.3944950600 0.1778505542 0.0676041283 0.5670792670
##  [76] 0.1874660505 0.2058625557 0.2131162025 0.2704887227 0.3105325191
##  [81] 0.1638335860 0.0375201053 0.3865516332 0.4120946755 0.0952859495
##  [86] 0.0428964160 0.7144982803 0.1473193541 0.0299700049 0.3476156632
##  [91] 0.2000978957 0.4223164362 0.0258709076 0.1998449583 0.4868523953
##  [96] 0.2874317388 0.2803844183 0.1716246502 0.0244057050 0.5235852264
## [101] 0.0697063785 0.0290425441 0.8192641072 0.0819869703 0.2231925349
## [106] 0.4125143888 0.2077362721 0.1565568042 0.0009567274 0.4642968194
## [111] 0.5267369885 0.0080094647 0.2455690326 0.3888076895 0.1829458107
## [116] 0.1826774671 0.2554464112 0.0708831192 0.0045735494 0.6690969202
## [121] 0.1052531952 0.6590542800 0.1238070815 0.1118854433 0.3761585231
## [126] 0.1659869477 0.1624633789 0.2953911503 0.3481856456 0.3822073762
## [131] 0.0732792607 0.1963277175 0.5244447065 0.0821460169 0.2213197036
## [136] 0.1720895730 0.1276013840 0.2151624204 0.5191903980 0.1380457976
## [141] 0.1110758134 0.2420915307 0.2636836080 0.3831490478 0.0106872793
## [146] 0.1820317961 0.2537618338 0.5535190909 0.5162877000 0.1268275401
## [151] 0.3220171668 0.0348675931 0.0060355372 0.2640691616 0.0148722578
## [156] 0.7150230433 0.2568394218 0.4317004071 0.1464022829 0.1650578883
## [161] 0.1619223342 0.2137201007 0.2857105299 0.3386470352 0.2348479216
## [166] 0.0849322565 0.0412441890 0.6389756328 0.1098506262 0.4718591662
## [171] 0.1324886060 0.2858016016 0.6334049297 0.1678676454 0.0743285972
## [176] 0.1243988278 0.0912114033 0.1020076794 0.6883743389 0.1184065784
## [181] 0.3390416685 0.0663829579 0.2570355292 0.3375398444 0.3087824071
## [186] 0.1639304662 0.1675741076 0.3597130191 0.6183618691 0.0330780768
## [191] 0.0116835493 0.3368765048 0.4133743953 0.0933400698 0.1644488329
## [196] 0.3288367020 0.5143391585 0.2088503214 0.1317818118 0.1450287083
## [201] 0.4000706738 0.1244095236 0.2174437300 0.2580760727 0.3616019287
## [206] 0.3594353446 0.2780324486 0.0009302781 0.1554450225 0.1468569648
## [211] 0.1927107023 0.5049873104 0.0097467289 0.1565462507 0.0379702162
## [216] 0.7957368041 0.0703802700 0.4579683314 0.3646593541 0.1069920445
## [221] 0.2353959384 0.4652776131 0.0255282416 0.2737982068 0.9243836300
## [226] 0.0053092490 0.0003363329 0.0699707880 0.0715088164 0.2376923505
## [231] 0.3241937640 0.3666050690 0.0269268886 0.1557629041 0.3067737606
## [236] 0.5105364467 0.1397872302 0.1511347455 0.5442537938 0.1648242306
## [241] 0.4692959369 0.3880150104 0.0455534195 0.0971356332 0.1340574222
## [246] 0.7010163111 0.0936780574 0.0712482093 0.0399914719 0.1037291833
## [251] 0.7782182193 0.0780611255 0.1119870632 0.2741719640 0.1998925640
## [256] 0.4139484088 0.4155896001 0.0445145366 0.2248874852 0.3150083781
## [261] 0.1636324150 0.1708752692 0.4942367005 0.1712556153 0.0118978894
## [266] 0.7022256756 0.0222984271 0.2635780079 0.2750104957 0.2651765919
## [271] 0.1542714471 0.3055414653 0.0210774019 0.0590566280 0.6193044081
## [276] 0.3005615619 0.3306036668 0.2311859648 0.4269623887 0.0112479797
## [281] 0.2392492204 0.1124831492 0.0261187521 0.6221488784 0.2755594263
## [286] 0.5124723769 0.1532146544 0.0587535424 0.6054186004 0.1831320040
## [291] 0.0420890844 0.1693603112 0.1386490611 0.5277207734 0.0553398787
## [296] 0.2782902869 0.3371295067 0.1071725290 0.1600080819 0.3956898823
## [301] 0.0671198820 0.3418777343 0.5083604376 0.0826419462 0.3233269204
## [306] 0.4301198483 0.1569384236 0.0896148076 0.3480153335 0.5598439199
## [311] 0.0541234249 0.0380173216 0.5820018586 0.0042645929 0.2108658948
## [316] 0.2028676537 0.0823280388 0.3450678803 0.2813642079 0.2912398730
## [321] 0.2644406010 0.0572387802 0.3098034160 0.3685172028 0.2233482089
## [326] 0.2628708261 0.3295825215 0.1841984435 0.3058776681 0.1617146207
## [331] 0.5216631857 0.0107445256 0.2161411599 0.0533045060 0.5275021861
## [336] 0.2030521480 0.3043459516 0.4225183227 0.1084347311 0.1647009945
## [341] 0.0846977541 0.1547244259 0.4446426451 0.3159351749 0.4843496825
## [346] 0.2161474759 0.0597952220 0.2397076197 0.8068073085 0.0589943796
## [351] 0.0202005112 0.1139978007 0.1938758839 0.0476422517 0.7364922916
## [356] 0.0219895728 0.5909652887 0.0437344369 0.2545059354 0.1107943391
## [361] 0.3834381641 0.2890762605 0.2008802984 0.1266052769 0.3816815999
## [366] 0.0777952692 0.1997172446 0.3408058863 0.4184571437 0.3114972911
## [371] 0.1420121086 0.1280334566 0.0099479337 0.2290585150 0.1741725390
## [376] 0.5868210122 0.0734852832 0.3264961899 0.4365712963 0.1634472306
## [381] 0.3652706188 0.2921893154 0.2874026308 0.0551374350 0.2103732193
## [386] 0.0196010442 0.7259275620 0.0440981744 0.7390694993 0.1711279540
## [391] 0.0818329647 0.0079695820 0.5772509710 0.1862631773 0.0747883925
## [396] 0.1616974592 0.2821166473 0.1272366233 0.4094831734 0.1811635559
## # A tibble: 400 x 3
## # Groups:   portfolio [100]
##    portfolio symbol weights
##        <int> <chr>    <dbl>
##  1         1 AAPL   0.0639 
##  2         1 MSFT   0.327  
##  3         1 FB     0.360  
##  4         1 NFLX   0.249  
##  5         2 AAPL   0.667  
##  6         2 MSFT   0.281  
##  7         2 FB     0.0501 
##  8         2 NFLX   0.00121
##  9         3 AAPL   0.112  
## 10         3 MSFT   0.196  
## # … with 390 more rows
## # A tibble: 6,100 x 3
## # Groups:   portfolio [100]
##    portfolio date             Ra
##        <int> <date>        <dbl>
##  1         1 2014-11-28  0.00972
##  2         1 2014-12-31 -0.0157 
##  3         1 2015-01-30  0.0212 
##  4         1 2015-02-27  0.0688 
##  5         1 2015-03-31 -0.0443 
##  6         1 2015-04-30  0.129  
##  7         1 2015-05-29  0.0354 
##  8         1 2015-06-30  0.0276 
##  9         1 2015-07-31  0.124  
## 10         1 2015-08-31 -0.0310 
## # … with 6,090 more rows

Calculate performance

## # A tibble: 6,100 x 4
## # Groups:   portfolio [100]
##    portfolio date             Ra       Rb
##        <int> <date>        <dbl>    <dbl>
##  1         1 2014-11-28  0.00972  0.0245 
##  2         1 2014-12-31 -0.0157  -0.00419
##  3         1 2015-01-30  0.0212  -0.0310 
##  4         1 2015-02-27  0.0688   0.0549 
##  5         1 2015-03-31 -0.0443  -0.0174 
##  6         1 2015-04-30  0.129    0.00852
##  7         1 2015-05-29  0.0354   0.0105 
##  8         1 2015-06-30  0.0276  -0.0210 
##  9         1 2015-07-31  0.124    0.0197 
## 10         1 2015-08-31 -0.0310  -0.0626 
## # … with 6,090 more rows
## # A tibble: 100 x 2
## # Groups:   portfolio [100]
##    portfolio `AnnualizedSharpeRatio(Rf=0%)`
##        <int>                          <dbl>
##  1         1                           1.25
##  2         2                           1.08
##  3         3                           1.17
##  4         4                           1.12
##  5         5                           1.04
##  6         6                           1.11
##  7         7                           1.09
##  8         8                           1.00
##  9         9                           1.02
## 10        10                           1.37
## # … with 90 more rows

Optimize

## # A tibble: 100 x 2
## # Groups:   portfolio [100]
##    portfolio `AnnualizedSharpeRatio(Rf=0%)`
##        <int>                          <dbl>
##  1        62                           1.39
##  2        31                           1.38
##  3        72                           1.38
##  4        10                           1.37
##  5        55                           1.37
##  6        77                           1.34
##  7        78                           1.34
##  8        27                           1.32
##  9        11                           1.32
## 10        28                           1.32
## # … with 90 more rows
## # A tibble: 10 x 2
##    portfolio SR_ann
##    <fct>      <dbl>
##  1 62          1.39
##  2 31          1.38
##  3 72          1.38
##  4 10          1.37
##  5 55          1.37
##  6 77          1.34
##  7 78          1.34
##  8 27          1.32
##  9 11          1.32
## 10 28          1.32

Q1 Import stock prices of Uber, Netflix and Tesla for the last 10 years.

Import

## # A tibble: 5,015 x 8
##    symbol date        open  high   low close    volume adjusted
##    <chr>  <date>     <dbl> <dbl> <dbl> <dbl>     <dbl>    <dbl>
##  1 UBER   2019-05-10  42    45    41.1  41.6 186322500     41.6
##  2 UBER   2019-05-13  38.8  39.2  36.1  37.1  79442400     37.1
##  3 UBER   2019-05-14  38.3  40.0  36.8  40.0  46661100     40.0
##  4 UBER   2019-05-15  39.4  41.9  39.0  41.3  36086100     41.3
##  5 UBER   2019-05-16  41.5  44.1  41.2  43    38115500     43  
##  6 UBER   2019-05-17  42.0  43.3  41.3  41.9  20225700     41.9
##  7 UBER   2019-05-20  41.2  41.7  39.5  41.6  29222300     41.6
##  8 UBER   2019-05-21  42    42.2  41.2  41.5  10802900     41.5
##  9 UBER   2019-05-22  41.0  41.3  40.5  41.2   9089500     41.2
## 10 UBER   2019-05-23  40.8  41.1  40.0  40.5  11119900     40.5
## # … with 5,005 more rows

Q2 Calculate monthly returns.

## # A tibble: 242 x 3
## # Groups:   symbol [3]
##    symbol date            Ra
##    <chr>  <date>       <dbl>
##  1 UBER   2019-05-31 -0.0279
##  2 UBER   2019-06-28  0.148 
##  3 UBER   2019-07-31 -0.0914
##  4 UBER   2019-08-30 -0.227 
##  5 UBER   2019-09-30 -0.0645
##  6 UBER   2019-10-31  0.0338
##  7 UBER   2019-11-18 -0.151 
##  8 NFLX   2009-11-30 -0.0270
##  9 NFLX   2009-12-31 -0.0604
## 10 NFLX   2010-01-29  0.130 
## # … with 232 more rows
## # A tibble: 121 x 2
##    date             Rb
##    <date>        <dbl>
##  1 2009-11-30 -0.00567
##  2 2009-12-31  0.0581 
##  3 2010-01-29 -0.0537 
##  4 2010-02-26  0.0423 
##  5 2010-03-31  0.0714 
##  6 2010-04-30  0.0264 
##  7 2010-05-28 -0.0829 
##  8 2010-06-30 -0.0655 
##  9 2010-07-30  0.0690 
## 10 2010-08-31 -0.0624 
## # … with 111 more rows

Q3 Import baseline prices and calculate its monthly return.

Hint: Use NASDAQ Compsite Index as baseline.

## # A tibble: 24,200 x 4
## # Groups:   portfolio [100]
##    portfolio symbol date            Ra
##        <int> <chr>  <date>       <dbl>
##  1         1 UBER   2019-05-31 -0.0279
##  2         1 UBER   2019-06-28  0.148 
##  3         1 UBER   2019-07-31 -0.0914
##  4         1 UBER   2019-08-30 -0.227 
##  5         1 UBER   2019-09-30 -0.0645
##  6         1 UBER   2019-10-31  0.0338
##  7         1 UBER   2019-11-18 -0.151 
##  8         1 NFLX   2009-11-30 -0.0270
##  9         1 NFLX   2009-12-31 -0.0604
## 10         1 NFLX   2010-01-29  0.130 
## # … with 24,190 more rows
## [1] 3
## [1] 0.06385721 0.32707606 0.60906672
##   [1] 0.0638572143 0.3270760642 0.6090667215 0.6674315634 0.0835250188
##   [6] 0.2490434179 0.9486860994 0.0501059340 0.0012079666 0.3082285074
##  [11] 0.3311331158 0.3606383768 0.1122350958 0.6053920568 0.2823728474
##  [16] 0.5903503322 0.2067945255 0.2028551423 0.2308615067 0.0173753274
##  [21] 0.7517631659 0.4117328513 0.0418477936 0.5464193551 0.3082213739
##  [26] 0.2995600218 0.3922186042 0.5221402226 0.1136128758 0.3642469016
##  [31] 0.0857777279 0.6071222641 0.3071000080 0.1944349897 0.0029123276
##  [36] 0.8026526826 0.1962747315 0.0904070712 0.7133181973 0.1588861502
##  [41] 0.1306861357 0.7104277140 0.8440541434 0.1414887353 0.0144571213
##  [46] 0.7966482679 0.0351519424 0.1681997897 0.1807254998 0.6042723870
##  [51] 0.2150021133 0.2389462919 0.5176046358 0.2434490724 0.3562180211
##  [56] 0.3205262697 0.3232557091 0.4174840255 0.1583388411 0.4241771335
##  [61] 0.1504051252 0.3887717656 0.4608231091 0.4359975604 0.2236178115
##  [66] 0.3403846282 0.2422919362 0.5420307070 0.2156773568 0.2298394081
##  [71] 0.4745642522 0.2955963397 0.6258799869 0.0470416916 0.3270783215
##  [76] 0.0375024606 0.5680024794 0.3944950600 0.0067017451 0.4451984253
##  [81] 0.5480998296 0.1778505542 0.0676041283 0.7545453175 0.6894674809
##  [86] 0.1230664686 0.1874660505 0.2058625557 0.2131162025 0.5810212418
##  [91] 0.2013536913 0.3865516332 0.4120946755 0.0952859495 0.0685476365
##  [96] 0.8361664140 0.1381823656 0.7144982803 0.1473193541 0.3775856681
## [101] 0.2000978957 0.4223164362 0.0258709076 0.0040990973 0.9700299951
## [106] 0.2257158658 0.4868523953 0.2874317388 0.4520090686 0.0244057050
## [111] 0.5235852264 0.2803844183 0.6376286114 0.0819869703 0.0697063785
## [116] 0.0290425441 0.9012510774 0.2231925349 0.6202506609 0.1565568042
## [121] 0.0009567274 0.6347501962 0.3642930763 0.4652535468 0.5267369885
## [126] 0.0080094647 0.2455690326 0.5717535003 0.1826774671 0.3309030798
## [131] 0.3034736423 0.3656232778 0.2554464112 0.0708831192 0.6736704696
## [136] 0.1052531952 0.7828613615 0.1118854433 0.7046088497 0.0596986255
## [141] 0.2356925248 0.3761585231 0.1659869477 0.4578545291 0.3481856456
## [146] 0.3822073762 0.2696069782 0.5244447065 0.2792275760 0.1963277175
## [151] 0.6065907234 0.2213197036 0.1720895730 0.3427638044 0.5191903980
## [156] 0.1380457976 0.1276013840 0.4892495682 0.3831490478 0.1110758134
## [161] 0.2420915307 0.6468326559 0.0106872793 0.4357936298 0.5535190909
## [166] 0.1927190754 0.4503961648 0.3568847599 0.5162877000 0.4488447069
## [171] 0.0348675931 0.0060355372 0.2789414194 0.7150230433 0.2701046988
## [176] 0.4184351300 0.3114601711 0.2568394218 0.5781026899 0.1650578883
## [181] 0.1619223342 0.4994306306 0.3386470352 0.3610243672 0.0146180678
## [186] 0.6243575651 0.2348479216 0.0849322565 0.6802198219 0.5817097924
## [191] 0.1324886060 0.2858016016 0.1098506262 0.7657505460 0.1243988278
## [196] 0.6334049297 0.1678676454 0.1987274250 0.0912114033 0.7903820183
## [201] 0.1184065784 0.1932190827 0.1458225858 0.6609583315 0.4054246263
## [206] 0.2570355292 0.3375398444 0.3087824071 0.1639304662 0.5272871268
## [211] 0.6402869809 0.0111529650 0.3485600541 0.6183618691 0.0447616260
## [216] 0.3368765048 0.4133743953 0.2577889026 0.3288367020 0.5067144651
## [221] 0.0076246934 0.4856608415 0.7231894799 0.1317818118 0.1450287083
## [226] 0.5244801973 0.2174437300 0.2580760727 0.4000706738 0.3209665995
## [231] 0.2789627267 0.3616019287 0.6374677932 0.0009302781 0.3023019873
## [236] 0.1927107023 0.5049873104 0.1554450225 0.0488181734 0.7957368041
## [241] 0.0097467289 0.1565462507 0.8337070204 0.0703802700 0.8226276855
## [246] 0.1069920445 0.5283486014 0.1723249501 0.2993264485 0.2353959384
## [251] 0.4908058548 0.2737982068 0.9296928791 0.0003363329 0.0699707880
## [256] 0.6333949310 0.2909886991 0.0756163700 0.0715088164 0.2376923505
## [261] 0.6907988330 0.1826897927 0.3067737606 0.5105364467 0.0269268886
## [266] 0.8082488808 0.1648242306 0.1397872302 0.1511347455 0.7090780244
## [271] 0.4692959369 0.4335684299 0.0971356332 0.1340574222 0.7232535251
## [276] 0.1426890527 0.8350737332 0.0936780574 0.0712482093 0.0399914719
## [281] 0.8819474026 0.0780611255 0.1437206552 0.2424383720 0.6138409728
## [286] 0.1119870632 0.4740645280 0.4139484088 0.4601041367 0.2248874852
## [291] 0.3150083781 0.1636324150 0.2519571851 0.5844103999 0.3345076842
## [296] 0.4942367005 0.1712556153 0.7141235650 0.0222984271 0.2635780079
## # A tibble: 300 x 3
## # Groups:   portfolio [100]
##    portfolio symbol weights
##        <int> <chr>    <dbl>
##  1         1 UBER   0.0639 
##  2         1 NFLX   0.327  
##  3         1 TSLA   0.609  
##  4         2 UBER   0.667  
##  5         2 NFLX   0.0835 
##  6         2 TSLA   0.249  
##  7         3 UBER   0.949  
##  8         3 NFLX   0.0501 
##  9         3 TSLA   0.00121
## 10         4 UBER   0.308  
## # … with 290 more rows
## # A tibble: 12,100 x 3
## # Groups:   portfolio [100]
##    portfolio date             Ra
##        <int> <date>        <dbl>
##  1         1 2009-11-30 -0.00885
##  2         1 2009-12-31 -0.0194 
##  3         1 2010-01-29  0.0400 
##  4         1 2010-02-26  0.0204 
##  5         1 2010-03-31  0.0405 
##  6         1 2010-04-30  0.127  
##  7         1 2010-05-28  0.0550 
##  8         1 2010-06-30 -0.0118 
##  9         1 2010-07-30 -0.105  
## 10         1 2010-08-31  0.100  
## # … with 12,090 more rows

Q4 Aggregate

Hint: Create 10 portfolios.

## # A tibble: 24,200 x 4
## # Groups:   portfolio [100]
##    portfolio symbol date            Ra
##        <int> <chr>  <date>       <dbl>
##  1         1 UBER   2019-05-31 -0.0279
##  2         1 UBER   2019-06-28  0.148 
##  3         1 UBER   2019-07-31 -0.0914
##  4         1 UBER   2019-08-30 -0.227 
##  5         1 UBER   2019-09-30 -0.0645
##  6         1 UBER   2019-10-31  0.0338
##  7         1 UBER   2019-11-18 -0.151 
##  8         1 NFLX   2009-11-30 -0.0270
##  9         1 NFLX   2009-12-31 -0.0604
## 10         1 NFLX   2010-01-29  0.130 
## # … with 24,190 more rows
## [1] 3
## [1] 0.06385721 0.32707606 0.60906672
##   [1] 0.0638572143 0.3270760642 0.6090667215 0.6674315634 0.0835250188
##   [6] 0.2490434179 0.9486860994 0.0501059340 0.0012079666 0.3082285074
##  [11] 0.3311331158 0.3606383768 0.1122350958 0.6053920568 0.2823728474
##  [16] 0.5903503322 0.2067945255 0.2028551423 0.2308615067 0.0173753274
##  [21] 0.7517631659 0.4117328513 0.0418477936 0.5464193551 0.3082213739
##  [26] 0.2995600218 0.3922186042 0.5221402226 0.1136128758 0.3642469016
##  [31] 0.0857777279 0.6071222641 0.3071000080 0.1944349897 0.0029123276
##  [36] 0.8026526826 0.1962747315 0.0904070712 0.7133181973 0.1588861502
##  [41] 0.1306861357 0.7104277140 0.8440541434 0.1414887353 0.0144571213
##  [46] 0.7966482679 0.0351519424 0.1681997897 0.1807254998 0.6042723870
##  [51] 0.2150021133 0.2389462919 0.5176046358 0.2434490724 0.3562180211
##  [56] 0.3205262697 0.3232557091 0.4174840255 0.1583388411 0.4241771335
##  [61] 0.1504051252 0.3887717656 0.4608231091 0.4359975604 0.2236178115
##  [66] 0.3403846282 0.2422919362 0.5420307070 0.2156773568 0.2298394081
##  [71] 0.4745642522 0.2955963397 0.6258799869 0.0470416916 0.3270783215
##  [76] 0.0375024606 0.5680024794 0.3944950600 0.0067017451 0.4451984253
##  [81] 0.5480998296 0.1778505542 0.0676041283 0.7545453175 0.6894674809
##  [86] 0.1230664686 0.1874660505 0.2058625557 0.2131162025 0.5810212418
##  [91] 0.2013536913 0.3865516332 0.4120946755 0.0952859495 0.0685476365
##  [96] 0.8361664140 0.1381823656 0.7144982803 0.1473193541 0.3775856681
## [101] 0.2000978957 0.4223164362 0.0258709076 0.0040990973 0.9700299951
## [106] 0.2257158658 0.4868523953 0.2874317388 0.4520090686 0.0244057050
## [111] 0.5235852264 0.2803844183 0.6376286114 0.0819869703 0.0697063785
## [116] 0.0290425441 0.9012510774 0.2231925349 0.6202506609 0.1565568042
## [121] 0.0009567274 0.6347501962 0.3642930763 0.4652535468 0.5267369885
## [126] 0.0080094647 0.2455690326 0.5717535003 0.1826774671 0.3309030798
## [131] 0.3034736423 0.3656232778 0.2554464112 0.0708831192 0.6736704696
## [136] 0.1052531952 0.7828613615 0.1118854433 0.7046088497 0.0596986255
## [141] 0.2356925248 0.3761585231 0.1659869477 0.4578545291 0.3481856456
## [146] 0.3822073762 0.2696069782 0.5244447065 0.2792275760 0.1963277175
## [151] 0.6065907234 0.2213197036 0.1720895730 0.3427638044 0.5191903980
## [156] 0.1380457976 0.1276013840 0.4892495682 0.3831490478 0.1110758134
## [161] 0.2420915307 0.6468326559 0.0106872793 0.4357936298 0.5535190909
## [166] 0.1927190754 0.4503961648 0.3568847599 0.5162877000 0.4488447069
## [171] 0.0348675931 0.0060355372 0.2789414194 0.7150230433 0.2701046988
## [176] 0.4184351300 0.3114601711 0.2568394218 0.5781026899 0.1650578883
## [181] 0.1619223342 0.4994306306 0.3386470352 0.3610243672 0.0146180678
## [186] 0.6243575651 0.2348479216 0.0849322565 0.6802198219 0.5817097924
## [191] 0.1324886060 0.2858016016 0.1098506262 0.7657505460 0.1243988278
## [196] 0.6334049297 0.1678676454 0.1987274250 0.0912114033 0.7903820183
## [201] 0.1184065784 0.1932190827 0.1458225858 0.6609583315 0.4054246263
## [206] 0.2570355292 0.3375398444 0.3087824071 0.1639304662 0.5272871268
## [211] 0.6402869809 0.0111529650 0.3485600541 0.6183618691 0.0447616260
## [216] 0.3368765048 0.4133743953 0.2577889026 0.3288367020 0.5067144651
## [221] 0.0076246934 0.4856608415 0.7231894799 0.1317818118 0.1450287083
## [226] 0.5244801973 0.2174437300 0.2580760727 0.4000706738 0.3209665995
## [231] 0.2789627267 0.3616019287 0.6374677932 0.0009302781 0.3023019873
## [236] 0.1927107023 0.5049873104 0.1554450225 0.0488181734 0.7957368041
## [241] 0.0097467289 0.1565462507 0.8337070204 0.0703802700 0.8226276855
## [246] 0.1069920445 0.5283486014 0.1723249501 0.2993264485 0.2353959384
## [251] 0.4908058548 0.2737982068 0.9296928791 0.0003363329 0.0699707880
## [256] 0.6333949310 0.2909886991 0.0756163700 0.0715088164 0.2376923505
## [261] 0.6907988330 0.1826897927 0.3067737606 0.5105364467 0.0269268886
## [266] 0.8082488808 0.1648242306 0.1397872302 0.1511347455 0.7090780244
## [271] 0.4692959369 0.4335684299 0.0971356332 0.1340574222 0.7232535251
## [276] 0.1426890527 0.8350737332 0.0936780574 0.0712482093 0.0399914719
## [281] 0.8819474026 0.0780611255 0.1437206552 0.2424383720 0.6138409728
## [286] 0.1119870632 0.4740645280 0.4139484088 0.4601041367 0.2248874852
## [291] 0.3150083781 0.1636324150 0.2519571851 0.5844103999 0.3345076842
## [296] 0.4942367005 0.1712556153 0.7141235650 0.0222984271 0.2635780079
## # A tibble: 300 x 3
## # Groups:   portfolio [100]
##    portfolio symbol weights
##        <int> <chr>    <dbl>
##  1         1 UBER   0.0639 
##  2         1 NFLX   0.327  
##  3         1 TSLA   0.609  
##  4         2 UBER   0.667  
##  5         2 NFLX   0.0835 
##  6         2 TSLA   0.249  
##  7         3 UBER   0.949  
##  8         3 NFLX   0.0501 
##  9         3 TSLA   0.00121
## 10         4 UBER   0.308  
## # … with 290 more rows
## # A tibble: 12,100 x 3
## # Groups:   portfolio [100]
##    portfolio date             Ra
##        <int> <date>        <dbl>
##  1         1 2009-11-30 -0.00885
##  2         1 2009-12-31 -0.0194 
##  3         1 2010-01-29  0.0400 
##  4         1 2010-02-26  0.0204 
##  5         1 2010-03-31  0.0405 
##  6         1 2010-04-30  0.127  
##  7         1 2010-05-28  0.0550 
##  8         1 2010-06-30 -0.0118 
##  9         1 2010-07-30 -0.105  
## 10         1 2010-08-31  0.100  
## # … with 12,090 more rows

Q5 Calculate performance

## # A tibble: 12,100 x 4
## # Groups:   portfolio [100]
##    portfolio date             Ra       Rb
##        <int> <date>        <dbl>    <dbl>
##  1         1 2009-11-30 -0.00885 -0.00567
##  2         1 2009-12-31 -0.0194   0.0581 
##  3         1 2010-01-29  0.0400  -0.0537 
##  4         1 2010-02-26  0.0204   0.0423 
##  5         1 2010-03-31  0.0405   0.0714 
##  6         1 2010-04-30  0.127    0.0264 
##  7         1 2010-05-28  0.0550  -0.0829 
##  8         1 2010-06-30 -0.0118  -0.0655 
##  9         1 2010-07-30 -0.105    0.0690 
## 10         1 2010-08-31  0.100   -0.0624 
## # … with 12,090 more rows
## # A tibble: 100 x 2
## # Groups:   portfolio [100]
##    portfolio `AnnualizedSharpeRatio(Rf=0%)`
##        <int>                          <dbl>
##  1         1                          0.849
##  2         2                          0.752
##  3         3                          0.532
##  4         4                          0.869
##  5         5                          0.832
##  6         6                          0.856
##  7         7                          0.597
##  8         8                          0.641
##  9         9                          0.865
## 10        10                          0.773
## # … with 90 more rows

Q6 Optimize

Hint: Calculate Sharpe Ratio for hundreds of portfolios and pick the best with the largest Sharpe Ratio.

## # A tibble: 100 x 2
## # Groups:   portfolio [100]
##    portfolio `AnnualizedSharpeRatio(Rf=0%)`
##        <int>                          <dbl>
##  1        19                          0.869
##  2         4                          0.869
##  3        31                          0.868
##  4        77                          0.868
##  5        44                          0.867
##  6        21                          0.867
##  7         9                          0.865
##  8        27                          0.864
##  9        55                          0.864
## 10        73                          0.863
## # … with 90 more rows
## # A tibble: 10 x 2
##    portfolio SR_ann
##    <fct>      <dbl>
##  1 19          0.87
##  2 4           0.87
##  3 31          0.87
##  4 77          0.87
##  5 44          0.87
##  6 21          0.87
##  7 9           0.87
##  8 27          0.86
##  9 55          0.86
## 10 73          0.86

Q7 What is the weights of stocks in the optimal portfolio.

## # A tibble: 12,100 x 4
## # Groups:   portfolio [100]
##    portfolio date             Ra       Rb
##        <int> <date>        <dbl>    <dbl>
##  1         1 2009-11-30 -0.00885 -0.00567
##  2         1 2009-12-31 -0.0194   0.0581 
##  3         1 2010-01-29  0.0400  -0.0537 
##  4         1 2010-02-26  0.0204   0.0423 
##  5         1 2010-03-31  0.0405   0.0714 
##  6         1 2010-04-30  0.127    0.0264 
##  7         1 2010-05-28  0.0550  -0.0829 
##  8         1 2010-06-30 -0.0118  -0.0655 
##  9         1 2010-07-30 -0.105    0.0690 
## 10         1 2010-08-31  0.100   -0.0624 
## # … with 12,090 more rows
## # A tibble: 100 x 2
## # Groups:   portfolio [100]
##    portfolio `AnnualizedSharpeRatio(Rf=0%)`
##        <int>                          <dbl>
##  1         1                          0.849
##  2         2                          0.752
##  3         3                          0.532
##  4         4                          0.869
##  5         5                          0.832
##  6         6                          0.856
##  7         7                          0.597
##  8         8                          0.641
##  9         9                          0.865
## 10        10                          0.773
## # … with 90 more rows

Q8 Hide the messages and the code, but display results of the code from the webpage.

Hint: Use message, echo and results in the chunk options. Refer to the RMarkdown Reference Guide.

Q9 Display the title and your name correctly at the top of the webpage.

Q10 Use the correct slug.