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
## # 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
## # 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
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
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
## # 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
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
## # 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
Hint: Use message
, echo
and results
in the chunk options. Refer to the RMarkdown Reference Guide.