# Load required libraries
library(quadprog)
library(zoo)
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
# Load data
df <- read.csv("myetf4.csv")
dates <- as.Date(df$Index)
returns <- df[, -1] / 100  # Convert percentages to decimal

# Define function to calculate portfolio return and risk
portfolio_stats <- function(weights, returns) {
  portfolio_return <- sum(weights * colMeans(returns))
  portfolio_std <- sqrt(t(weights) %*% cov(returns) %*% weights)
  list(return = portfolio_return, risk = portfolio_std)
}

# Q1: Calculate GMVP using daily returns from 2015/12/14 to 2018/12/28
start_date_q1 <- as.Date("2015-12-14")
end_date_q1 <- as.Date("2018-12-28")
returns_q1 <- returns[dates >= start_date_q1 & dates <= end_date_q1, ]

# Covariance matrix and mean returns
cov_mat_q1 <- cov(returns_q1)
avg_returns_q1 <- colMeans(returns_q1)

# GMVP optimization
gmvp_q1 <- solve.QP(cov_mat_q1, rep(0, ncol(returns_q1)), 
                    matrix(1, ncol(returns_q1)), 1, meq = 1)

# GMVP weights, return, and risk
weights_gmvp_q1 <- gmvp_q1$solution
return_gmvp_q1 <- portfolio_stats(weights_gmvp_q1, returns_q1)$return
risk_gmvp_q1 <- portfolio_stats(weights_gmvp_q1, returns_q1)$risk

# Q2: Calculate GMVP using monthly returns
returns_monthly <- returns[as.yearmon(dates) %in% unique(as.yearmon(dates)), ]

# Covariance matrix and mean returns
cov_mat_q2 <- cov(returns_monthly)
avg_returns_q2 <- colMeans(returns_monthly)

# GMVP optimization
gmvp_q2 <- solve.QP(cov_mat_q2, rep(0, ncol(returns_monthly)), 
                    matrix(1, ncol(returns_monthly)), 1, meq = 1)

# GMVP weights, return, and risk
weights_gmvp_q2 <- gmvp_q2$solution
return_gmvp_q2 <- portfolio_stats(weights_gmvp_q2, returns_monthly)$return
risk_gmvp_q2 <- portfolio_stats(weights_gmvp_q2, returns_monthly)$risk

# Q3: Find Tangency Portfolio
# Number of assets
n_assets <- ncol(returns_monthly)

# Create constraints matrix and vector
Amat <- cbind(rep(1, n_assets), diag(n_assets))
bvec <- c(1, rep(0, n_assets))

# Tangency Portfolio optimization
tangency <- solve.QP(cov_mat_q2, rep(0, n_assets), Amat, bvec, meq = 1)

# Tangency Portfolio weights, return, and risk
weights_tangency <- tangency$solution
return_tangency <- portfolio_stats(weights_tangency, returns_monthly)$return
risk_tangency <- portfolio_stats(weights_tangency, returns_monthly)$risk

# Print results for Q1
cat("Q1:\n")
## Q1:
cat("Asset Returns:\n")
## Asset Returns:
print(returns_monthly)
##     tw0050 tw0056 tw006205 tw00646
## 1   0.5329 0.1825   0.3106  0.1961
## 2   0.5333 0.1838   0.3159  0.1963
## 3   0.5414 0.1856   0.3160  0.1989
## 4   0.5477 0.1881   0.3223  0.2005
## 5   0.5450 0.1895   0.3218  0.1985
## 6   0.5441 0.1902   0.3300  0.1964
## 7   0.5454 0.1895   0.3310  0.1972
## 8   0.5463 0.1900   0.3311  0.1980
## 9   0.5490 0.1897   0.3280  0.1999
## 10  0.5526 0.1899   0.3305  0.1999
## 11  0.5513 0.1900   0.3260  0.1997
## 12  0.5472 0.1895   0.3201  0.1998
## 13  0.5432 0.1885   0.3173  0.2010
## 14  0.5450 0.1886   0.3201  0.2006
## 15  0.5342 0.1854   0.3048  0.1979
## 16  0.5297 0.1850   0.2981  0.1974
## 17  0.5244 0.1821   0.3014  0.1962
## 18  0.5145 0.1838   0.2808  0.1943
## 19  0.5154 0.1815   0.2932  0.1932
## 20  0.5073 0.1780   0.2813  0.1901
## 21  0.5069 0.1787   0.2790  0.1899
## 22  0.5127 0.1789   0.2806  0.1932
## 23  0.5087 0.1778   0.2746  0.1881
## 24  0.5087 0.1778   0.2708  0.1897
## 25  0.5122 0.1793   0.2755  0.1878
## 26  0.5136 0.1790   0.2808  0.1890
## 27  0.5015 0.1777   0.2746  0.1849
## 28  0.5006 0.1762   0.2747  0.1858
## 29  0.5073 0.1770   0.2736  0.1877
## 30  0.5163 0.1793   0.2761  0.1897
## 31  0.5113 0.1792   0.2695  0.1868
## 32  0.5136 0.1796   0.2552  0.1890
## 33  0.5163 0.1814   0.2540  0.1883
## 34  0.5293 0.1842   0.2594  0.1896
## 35  0.5342 0.1860   0.2647  0.1928
## 36  0.5342 0.1863   0.2546  0.1917
## 37  0.5324 0.1875   0.2573  0.1903
## 38  0.5288 0.1866   0.2547  0.1883
## 39  0.5293 0.1864   0.2567  0.1850
## 40  0.5405 0.1878   0.2678  0.1866
## 41  0.5378 0.1885   0.2650  0.1865
## 42  0.5463 0.1909   0.2694  0.1902
## 43  0.5459 0.1920   0.2676  0.1894
## 44  0.5454 0.1914   0.2728  0.1899
## 45  0.5459 0.1918   0.2699  0.1906
## 46  0.5409 0.1912   0.2683  0.1889
## 47  0.5481 0.1920   0.2628  0.1905
## 48  0.5495 0.1941   0.2574  0.1921
## 49  0.5549 0.1953   0.2541  0.1899
## 50  0.5593 0.1958   0.2640  0.1941
## 51  0.5647 0.1968   0.2670  0.1947
## 52  0.5661 0.1965   0.2699  0.1944
## 53  0.5661 0.1966   0.2718  0.1937
## 54  0.5656 0.1950   0.2678  0.1935
## 55  0.5661 0.1950   0.2687  0.1934
## 56  0.5674 0.1961   0.2711  0.1945
## 57  0.5701 0.1964   0.2672  0.1949
## 58  0.5741 0.1970   0.2730  0.1960
## 59  0.5656 0.1939   0.2665  0.1957
## 60  0.5706 0.1946   0.2705  0.1959
## 61  0.5768 0.1952   0.2738  0.1964
## 62  0.5804 0.1960   0.2787  0.1963
## 63  0.5795 0.1967   0.2854  0.1961
## 64  0.5777 0.1959   0.2828  0.1969
## 65  0.5773 0.1946   0.2804  0.1966
## 66  0.5773 0.1936   0.2797  0.1963
## 67  0.5746 0.1934   0.2774  0.1970
## 68  0.5750 0.1934   0.2783  0.1974
## 69  0.5710 0.1915   0.2728  0.1968
## 70  0.5804 0.1934   0.2756  0.1974
## 71  0.5800 0.1936   0.2787  0.1971
## 72  0.5732 0.1923   0.2743  0.1969
## 73  0.5598 0.1906   0.2790  0.1974
## 74  0.5575 0.1902   0.2775  0.1982
## 75  0.5629 0.1895   0.2755  0.1971
## 76  0.5652 0.1896   0.2794  0.1969
## 77  0.5647 0.1901   0.2770  0.1960
## 78  0.5746 0.1910   0.2842  0.1977
## 79  0.5764 0.1917   0.2827  0.1994
## 80  0.5764 0.1921   0.2844  0.1994
## 81  0.5728 0.1919   0.2796  0.1984
## 82  0.5706 0.1919   0.2789  0.2001
## 83  0.5620 0.1893   0.2698  0.1999
## 84  0.5647 0.1887   0.2738  0.2012
## 85  0.5670 0.1881   0.2730  0.2003
## 86  0.5674 0.1892   0.2723  0.2001
## 87  0.5697 0.1899   0.2717  0.1999
## 88  0.5688 0.1896   0.2740  0.1997
## 89  0.5598 0.1882   0.2717  0.1996
## 90  0.5526 0.1864   0.2718  0.1990
## 91  0.5450 0.1843   0.2754  0.1984
## 92  0.5392 0.1813   0.2746  0.1974
## 93  0.5401 0.1807   0.2752  0.1972
## 94  0.5356 0.1791   0.2724  0.1963
## 95  0.5356 0.1800   0.2647  0.1974
## 96  0.5383 0.1804   0.2636  0.1990
## 97  0.5369 0.1804   0.2655  0.2000
## 98  0.5365 0.1795   0.2644  0.1994
## 99  0.5306 0.1786   0.2646  0.1987
## 100 0.5347 0.1799   0.2644  0.1980
## 101 0.5387 0.1805   0.2650  0.1996
## 102 0.5378 0.1807   0.2602  0.1981
## 103 0.5351 0.1796   0.2640  0.1985
## 104 0.5383 0.1802   0.2642  0.1988
## 105 0.5562 0.1839   0.2642  0.1986
## 106 0.5504 0.1839   0.2629  0.1985
## 107 0.5562 0.1848   0.2651  0.2011
## 108 0.5575 0.1855   0.2623  0.2013
## 109 0.5616 0.1871   0.2631  0.2015
## 110 0.5665 0.1892   0.2642  0.2033
## 111 0.5665 0.1895   0.2730  0.2034
## 112 0.5715 0.1903   0.2721  0.2026
## 113 0.5715 0.1903   0.2710  0.2023
## 114 0.5728 0.1902   0.2718  0.2030
## 115 0.5737 0.1903   0.2724  0.2014
## 116 0.5746 0.1897   0.2706  0.2011
## 117 0.5822 0.1924   0.2707  0.2020
## 118 0.5854 0.1930   0.2689  0.2015
## 119 0.5719 0.1904   0.2650  0.2005
## 120 0.5755 0.1923   0.2616  0.1998
## 121 0.5764 0.1922   0.2619  0.1996
## 122 0.5683 0.1906   0.2625  0.1985
## 123 0.5746 0.1915   0.2640  0.1998
## 124 0.5786 0.1937   0.2632  0.2002
## 125 0.5809 0.1949   0.2650  0.2000
## 126 0.5827 0.1949   0.2642  0.1997
## 127 0.5813 0.1942   0.2639  0.1999
## 128 0.5661 0.1898   0.2601  0.1931
## 129 0.5719 0.1911   0.2630  0.1959
## 130 0.5741 0.1924   0.2632  0.1945
## 131 0.5804 0.1942   0.2646  0.1961
## 132 0.5871 0.1951   0.2660  0.1981
## 133 0.5943 0.1968   0.2657  0.1996
## 134 0.5948 0.1984   0.2702  0.2010
## 135 0.5930 0.1980   0.2717  0.2004
## 136 0.5822 0.1956   0.2712  0.1993
## 137 0.5894 0.1973   0.2712  0.2011
## 138 0.6011 0.2022   0.2724  0.2036
## 139 0.6064 0.2022   0.2720  0.2036
## 140 0.6069 0.2054   0.2760  0.2043
## 141 0.6073 0.2054   0.2750  0.2042
## 142 0.6145 0.2066   0.2749  0.2046
## 143 0.6203 0.2083   0.2742  0.2048
## 144 0.6212 0.2089   0.2718  0.2049
## 145 0.6208 0.2076   0.2708  0.2047
## 146 0.6239 0.2094   0.2736  0.2050
## 147 0.6217 0.2092   0.2714  0.2042
## 148 0.6190 0.2086   0.2706  0.2056
## 149 0.6226 0.2088   0.2728  0.2059
## 150 0.6253 0.2100   0.2674  0.2058
## 151 0.6271 0.2108   0.2692  0.2052
## 152 0.6226 0.2104   0.2691  0.2042
## 153 0.6294 0.2119   0.2668  0.2035
## 154 0.6294 0.2124   0.2660  0.2038
## 155 0.6244 0.2114   0.2673  0.2020
## 156 0.6257 0.2112   0.2672  0.2026
## 157 0.6321 0.2122   0.2672  0.2025
## 158 0.6362 0.2129   0.2669  0.2038
## 159 0.6394 0.2130   0.2683  0.2036
## 160 0.6412 0.2129   0.2674  0.2023
## 161 0.6353 0.2113   0.2681  0.2023
## 162 0.6375 0.2120   0.2682  0.2022
## 163 0.6389 0.2123   0.2823  0.2034
## 164 0.6353 0.2127   0.2807  0.2028
## 165 0.6362 0.2122   0.2806  0.2027
## 166 0.6348 0.2134   0.2800  0.2033
## 167 0.6285 0.2128   0.2791  0.2043
## 168 0.6239 0.2098   0.2787  0.2050
## 169 0.6303 0.2107   0.2799  0.2055
## 170 0.6285 0.2106   0.2779  0.2055
## 171 0.6357 0.2129   0.2759  0.2048
## 172 0.6366 0.2132   0.2763  0.2042
## 173 0.6362 0.2123   0.2756  0.2042
## 174 0.6357 0.2136   0.2763  0.2050
## 175 0.6303 0.2128   0.2767  0.2050
## 176 0.6271 0.2105   0.2761  0.2050
## 177 0.6280 0.2106   0.2753  0.2040
## 178 0.6384 0.2128   0.2759  0.2044
## 179 0.6434 0.2146   0.2748  0.2037
## 180 0.6525 0.2158   0.2753  0.2029
## 181 0.6503 0.2165   0.2744  0.2028
## 182 0.6394 0.2154   0.2745  0.2031
## 183 0.6303 0.2126   0.2691  0.2005
## 184 0.6253 0.2119   0.2680  0.1996
## 185 0.6253 0.2104   0.2689  0.2024
## 186 0.6216 0.2102   0.2689  0.2005
## 187 0.6448 0.2138   0.2687  0.2016
## 188 0.6439 0.2141   0.2680  0.2000
## 189 0.6471 0.2154   0.2675  0.2000
## 190 0.6484 0.2159   0.2700  0.2009
## 191 0.6530 0.2160   0.2695  0.2020
## 192 0.6448 0.2145   0.2674  0.2008
## 193 0.6530 0.2167   0.2666  0.2021
## 194 0.6443 0.2167   0.2665  0.2002
## 195 0.6489 0.2162   0.2665  0.2005
## 196 0.6516 0.2164   0.2665  0.1998
## 197 0.6493 0.2167   0.2672  0.1995
## 198 0.6512 0.2167   0.2683  0.2003
## 199 0.6507 0.2163   0.2690  0.2010
## 200 0.6489 0.2148   0.2697  0.2019
## 201 0.6562 0.2155   0.2690  0.2012
## 202 0.6512 0.2147   0.2687  0.1999
## 203 0.6489 0.2129   0.2684  0.2005
## 204 0.6489 0.2131   0.2701  0.2001
## 205 0.6534 0.2142   0.2696  0.2002
## 206 0.6571 0.2154   0.2697  0.2000
## 207 0.6598 0.2159   0.2700  0.2005
## 208 0.6593 0.2158   0.2701  0.2004
## 209 0.6602 0.2166   0.2754  0.2010
## 210 0.6666 0.2188   0.2740  0.2017
## 211 0.6630 0.2165   0.2732  0.2004
## 212 0.6593 0.2161   0.2721  0.2003
## 213 0.6593 0.2161   0.2728  0.2003
## 214 0.6593 0.2165   0.2709  0.1998
## 215 0.6593 0.2156   0.2721  0.1997
## 216 0.6516 0.2118   0.2710  0.1972
## 217 0.6466 0.2101   0.2737  0.1962
## 218 0.6448 0.2098   0.2731  0.1959
## 219 0.6539 0.2117   0.2727  0.1980
## 220 0.6571 0.2129   0.2742  0.2000
## 221 0.6357 0.2067   0.2708  0.1918
## 222 0.6539 0.2116   0.2750  0.2026
## 223 0.6362 0.2065   0.2769  0.2032
## 224 0.6366 0.2083   0.2796  0.2045
## 225 0.6348 0.2069   0.2780  0.2049
## 226 0.6357 0.2073   0.2765  0.2051
## 227 0.6375 0.2061   0.2769  0.2060
## 228 0.6394 0.2079   0.2772  0.2060
## 229 0.6403 0.2087   0.2792  0.2070
## 230 0.6489 0.2110   0.2802  0.2080
## 231 0.6521 0.2111   0.2814  0.2081
## 232 0.6484 0.2108   0.2819  0.2086
## 233 0.6480 0.2114   0.2810  0.2085
## 234 0.6516 0.2119   0.2844  0.2085
## 235 0.6507 0.2115   0.2866  0.2072
## 236 0.6512 0.2116   0.2861  0.2075
## 237 0.6539 0.2122   0.2869  0.2085
## 238 0.6466 0.2104   0.2851  0.2057
## 239 0.6457 0.2091   0.2815  0.2068
## 240 0.6539 0.2105   0.2824  0.2083
## 241 0.6539 0.2111   0.2810  0.2093
## 242 0.6621 0.2123   0.2811  0.2138
## 243 0.6643 0.2132   0.2838  0.2122
## 244 0.6616 0.2117   0.2772  0.2148
## 245 0.6625 0.2118   0.2762  0.2140
## 246 0.6639 0.2120   0.2766  0.2159
## 247 0.6630 0.2120   0.2724  0.2150
## 248 0.6566 0.2121   0.2713  0.2156
## 249 0.6525 0.2099   0.2711  0.2158
## 250 0.6516 0.2102   0.2678  0.2161
## 251 0.6512 0.2095   0.2705  0.2173
## 252 0.6430 0.2093   0.2698  0.2160
## 253 0.6407 0.2079   0.2692  0.2163
## 254 0.6430 0.2084   0.2679  0.2151
## 255 0.6425 0.2080   0.2697  0.2160
## 256 0.6503 0.2093   0.2697  0.2160
## 257 0.6471 0.2092   0.2703  0.2152
## 258 0.6521 0.2099   0.2700  0.2160
## 259 0.6530 0.2104   0.2725  0.2156
## 260 0.6525 0.2111   0.2737  0.2165
## 261 0.6584 0.2118   0.2745  0.2163
## 262 0.6598 0.2124   0.2743  0.2152
## 263 0.6580 0.2120   0.2750  0.2170
## 264 0.6575 0.2130   0.2745  0.2157
## 265 0.6575 0.2138   0.2721  0.2153
## 266 0.6643 0.2145   0.2718  0.2158
## 267 0.6593 0.2144   0.2711  0.2149
## 268 0.6539 0.2133   0.2703  0.2130
## 269 0.6566 0.2133   0.2721  0.2134
## 270 0.6552 0.2131   0.2735  0.2130
## 271 0.6534 0.2128   0.2736  0.2137
## 272 0.6552 0.2124   0.2748  0.2132
## 273 0.6607 0.2136   0.2758  0.2127
## 274 0.6657 0.2142   0.2746  0.2129
## 275 0.6621 0.2143   0.2753  0.2125
## 276 0.6616 0.2152   0.2736  0.2115
## 277 0.6652 0.2177   0.2730  0.2125
## 278 0.6657 0.2180   0.2716  0.2124
## 279 0.6671 0.2197   0.2719  0.2118
## 280 0.6694 0.2201   0.2743  0.2117
## 281 0.6768 0.2214   0.2765  0.2133
## 282 0.6782 0.2214   0.2765  0.2145
## 283 0.6806 0.2220   0.2755  0.2125
## 284 0.6871 0.2237   0.2760  0.2136
## 285 0.6829 0.2227   0.2761  0.2139
## 286 0.6820 0.2225   0.2750  0.2144
## 287 0.6834 0.2229   0.2744  0.2140
## 288 0.6796 0.2217   0.2765  0.2146
## 289 0.6810 0.2205   0.2773  0.2151
## 290 0.6815 0.2218   0.2765  0.2160
## 291 0.6796 0.2224   0.2763  0.2155
## 292 0.6801 0.2227   0.2754  0.2151
## 293 0.6727 0.2229   0.2756  0.2157
## 294 0.6745 0.2229   0.2745  0.2200
## 295 0.6703 0.2226   0.2725  0.2205
## 296 0.6708 0.2225   0.2734  0.2195
## 297 0.6736 0.2230   0.2726  0.2191
## 298 0.6773 0.2235   0.2726  0.2175
## 299 0.6699 0.2229   0.2702  0.2183
## 300 0.6694 0.2220   0.2712  0.2195
## 301 0.6741 0.2228   0.2719  0.2193
## 302 0.6787 0.2238   0.2718  0.2187
## 303 0.6773 0.2237   0.2710  0.2180
## 304 0.6861 0.2253   0.2723  0.2182
## 305 0.6880 0.2256   0.2716  0.2175
## 306 0.6875 0.2267   0.2687  0.2161
## 307 0.6964 0.2277   0.2695  0.2160
## 308 0.6899 0.2282   0.2675  0.2131
## 309 0.6913 0.2275   0.2678  0.2140
## 310 0.6903 0.2273   0.2692  0.2143
## 311 0.6899 0.2262   0.2702  0.2104
## 312 0.6903 0.2252   0.2680  0.2113
## 313 0.6880 0.2256   0.2684  0.2136
## 314 0.6871 0.2256   0.2667  0.2145
## 315 0.6852 0.2250   0.2676  0.2159
## 316 0.6940 0.2266   0.2705  0.2142
## 317 0.6917 0.2261   0.2720  0.2125
## 318 0.6889 0.2256   0.2725  0.2125
## 319 0.6899 0.2258   0.2720  0.2139
## 320 0.6871 0.2237   0.2700  0.2140
## 321 0.6885 0.2228   0.2719  0.2138
## 322 0.6917 0.2231   0.2707  0.2113
## 323 0.6838 0.2208   0.2685  0.2113
## 324 0.6843 0.2200   0.2665  0.2100
## 325 0.6843 0.2206   0.2681  0.2118
## 326 0.6768 0.2200   0.2644  0.2112
## 327 0.6768 0.2185   0.2658  0.2125
## 328 0.6834 0.2192   0.2660  0.2122
## 329 0.6847 0.2194   0.2636  0.2135
## 330 0.6913 0.2205   0.2645  0.2140
## 331 0.6931 0.2225   0.2644  0.2136
## 332 0.6927 0.2224   0.2632  0.2150
## 333 0.6931 0.2225   0.2633  0.2152
## 334 0.6992 0.2235   0.2628  0.2147
## 335 0.7024 0.2230   0.2614  0.2145
## 336 0.7033 0.2239   0.2620  0.2150
## 337 0.6987 0.2230   0.2587  0.2145
## 338 0.7038 0.2235   0.2573  0.2154
## 339 0.7061 0.2229   0.2585  0.2153
## 340 0.7089 0.2226   0.2601  0.2153
## 341 0.7112 0.2227   0.2582  0.2154
## 342 0.7094 0.2235   0.2622  0.2142
## 343 0.7112 0.2247   0.2633  0.2144
## 344 0.7112 0.2252   0.2633  0.2147
## 345 0.7094 0.2247   0.2629  0.2142
## 346 0.7057 0.2244   0.2630  0.2130
## 347 0.7052 0.2246   0.2631  0.2128
## 348 0.7071 0.2252   0.2625  0.2136
## 349 0.7099 0.2253   0.2629  0.2140
## 350 0.7094 0.2253   0.2638  0.2155
## 351 0.7159 0.2257   0.2686  0.2160
## 352 0.7154 0.2265   0.2703  0.2161
## 353 0.7112 0.2259   0.2721  0.2160
## 354 0.7150 0.2260   0.2743  0.2158
## 355 0.7178 0.2262   0.2743  0.2169
## 356 0.7196 0.2266   0.2750  0.2172
## 357 0.7252 0.2274   0.2727  0.2165
## 358 0.7247 0.2275   0.2729  0.2156
## 359 0.7247 0.2268   0.2767  0.2160
## 360 0.7275 0.2275   0.2767  0.2164
## 361 0.7252 0.2275   0.2795  0.2170
## 362 0.7173 0.2281   0.2794  0.2156
## 363 0.7182 0.2289   0.2796  0.2180
## 364 0.7145 0.2271   0.2779  0.2184
## 365 0.7150 0.2273   0.2776  0.2187
## 366 0.7224 0.2279   0.2779  0.2200
## 367 0.7303 0.2295   0.2798  0.2200
## 368 0.7387 0.2298   0.2789  0.2220
## 369 0.7396 0.2313   0.2781  0.2216
## 370 0.7415 0.2326   0.2861  0.2213
## 371 0.7410 0.2318   0.2824  0.2223
## 372 0.7568 0.2338   0.2859  0.2210
## 373 0.7559 0.2344   0.2857  0.2210
## 374 0.7489 0.2326   0.2880  0.2196
## 375 0.7498 0.2329   0.2887  0.2206
## 376 0.7475 0.2327   0.2896  0.2195
## 377 0.7480 0.2343   0.2898  0.2198
## 378 0.7438 0.2334   0.2876  0.2202
## 379 0.7508 0.2336   0.2878  0.2205
## 380 0.7475 0.2333   0.2901  0.2205
## 381 0.7433 0.2326   0.2915  0.2194
## 382 0.7470 0.2327   0.2925  0.2212
## 383 0.7582 0.2347   0.2943  0.2207
## 384 0.7582 0.2360   0.2943  0.2203
## 385 0.7642 0.2366   0.2949  0.2211
## 386 0.7628 0.2369   0.2961  0.2212
## 387 0.7642 0.2376   0.2998  0.2220
## 388 0.7661 0.2377   0.2955  0.2220
## 389 0.7689 0.2388   0.2987  0.2225
## 390 0.7684 0.2388   0.3028  0.2244
## 391 0.7633 0.2376   0.3033  0.2247
## 392 0.7652 0.2368   0.3027  0.2239
## 393 0.7666 0.2380   0.3029  0.2231
## 394 0.7638 0.2379   0.3008  0.2244
## 395 0.7717 0.2386   0.3006  0.2236
## 396 0.7633 0.2383   0.3002  0.2222
## 397 0.7628 0.2374   0.3020  0.2228
## 398 0.7671 0.2384   0.3031  0.2226
## 399 0.7736 0.2391   0.3056  0.2235
## 400 0.7708 0.2387   0.3037  0.2234
## 401 0.7722 0.2392   0.3030  0.2226
## 402 0.7778 0.2397   0.3011  0.2228
## 403 0.7774 0.2398   0.3017  0.2228
## 404 0.7703 0.2389   0.3018  0.2225
## 405 0.7652 0.2356   0.2995  0.2226
## 406 0.7619 0.2353   0.2968  0.2207
## 407 0.7572 0.2315   0.2980  0.2219
## 408 0.7624 0.2336   0.2999  0.2230
## 409 0.7596 0.2333   0.2980  0.2232
## 410 0.7657 0.2352   0.2999  0.2231
## 411 0.7610 0.2346   0.3014  0.2196
## 412 0.7600 0.2336   0.3017  0.2196
## 413 0.7675 0.2346   0.3038  0.2200
## 414 0.7666 0.2354   0.3046  0.2207
## 415 0.7741 0.2358   0.3043  0.2206
## 416 0.7755 0.2360   0.3070  0.2206
## 417 0.7741 0.2364   0.3132  0.2195
## 418 0.7718 0.2352   0.3140  0.2189
## 419 0.7755 0.2364   0.3152  0.2202
## 420 0.7778 0.2374   0.3129  0.2206
## 421 0.7783 0.2388   0.3138  0.2217
## 422 0.7769 0.2386   0.3151  0.2213
## 423 0.7778 0.2392   0.3168  0.2207
## 424 0.7746 0.2388   0.3159  0.2206
## 425 0.7713 0.2378   0.3157  0.2208
## 426 0.7755 0.2387   0.3155  0.2203
## 427 0.7741 0.2394   0.3149  0.2213
## 428 0.7769 0.2410   0.3151  0.2230
## 429 0.7718 0.2411   0.3150  0.2231
## 430 0.7722 0.2412   0.3140  0.2240
## 431 0.7722 0.2416   0.3133  0.2239
## 432 0.7797 0.2438   0.3141  0.2244
## 433 0.7760 0.2409   0.3131  0.2245
## 434 0.7708 0.2397   0.3122  0.2247
## 435 0.7755 0.2405   0.3146  0.2255
## 436 0.7652 0.2384   0.3125  0.2254
## 437 0.7591 0.2347   0.3105  0.2250
## 438 0.7530 0.2334   0.3101  0.2244
## 439 0.7567 0.2345   0.3105  0.2248
## 440 0.7539 0.2347   0.3103  0.2271
## 441 0.7563 0.2347   0.3112  0.2273
## 442 0.7614 0.2362   0.3115  0.2290
## 443 0.7642 0.2379   0.3124  0.2290
## 444 0.7642 0.2387   0.3159  0.2300
## 445 0.7675 0.2392   0.3210  0.2302
## 446 0.7699 0.2403   0.3217  0.2316
## 447 0.7821 0.2403   0.3193  0.2300
## 448 0.7896 0.2401   0.3186  0.2307
## 449 0.7882 0.2391   0.3185  0.2303
## 450 0.7924 0.2400   0.3182  0.2302
## 451 0.7905 0.2394   0.3168  0.2306
## 452 0.7933 0.2396   0.3157  0.2311
## 453 0.7961 0.2397   0.3158  0.2316
## 454 0.7928 0.2396   0.3161  0.2322
## 455 0.7924 0.2411   0.3156  0.2335
## 456 0.7914 0.2424   0.3172  0.2325
## 457 0.7910 0.2424   0.3177  0.2318
## 458 0.7900 0.2422   0.3202  0.2316
## 459 0.7905 0.2401   0.3206  0.2316
## 460 0.7966 0.2407   0.3202  0.2332
## 461 0.7989 0.2414   0.3189  0.2321
## 462 0.7980 0.2416   0.3196  0.2323
## 463 0.7952 0.2423   0.3194  0.2321
## 464 0.7943 0.2425   0.3178  0.2330
## 465 0.7957 0.2416   0.3185  0.2332
## 466 0.7999 0.2416   0.3225  0.2333
## 467 0.7966 0.2421   0.3235  0.2332
## 468 0.7914 0.2398   0.3222  0.2335
## 469 0.7928 0.2387   0.3251  0.2327
## 470 0.7905 0.2360   0.3260  0.2328
## 471 0.7891 0.2373   0.3260  0.2322
## 472 0.7811 0.2362   0.3232  0.2312
## 473 0.7839 0.2363   0.3234  0.2307
## 474 0.7910 0.2372   0.3249  0.2325
## 475 0.7877 0.2368   0.3249  0.2315
## 476 0.7947 0.2377   0.3332  0.2320
## 477 0.7985 0.2376   0.3351  0.2324
## 478 0.7989 0.2378   0.3330  0.2330
## 479 0.7985 0.2384   0.3264  0.2326
## 480 0.7891 0.2378   0.3237  0.2326
## 481 0.7839 0.2369   0.3227  0.2336
## 482 0.7849 0.2374   0.3216  0.2351
## 483 0.7713 0.2359   0.3225  0.2352
## 484 0.7746 0.2359   0.3186  0.2375
## 485 0.7774 0.2359   0.3224  0.2390
## 486 0.7713 0.2346   0.3235  0.2368
## 487 0.7582 0.2323   0.3208  0.2358
## 488 0.7586 0.2310   0.3182  0.2367
## 489 0.7586 0.2333   0.3206  0.2372
## 490 0.7642 0.2350   0.3226  0.2384
## 491 0.7591 0.2341   0.3222  0.2395
## 492 0.7596 0.2344   0.3212  0.2386
## 493 0.7666 0.2352   0.3209  0.2390
## 494 0.7605 0.2346   0.3187  0.2388
## 495 0.7614 0.2355   0.3166  0.2411
## 496 0.7577 0.2348   0.3202  0.2420
## 497 0.7600 0.2350   0.3203  0.2406
## 498 0.7596 0.2350   0.3244  0.2405
## 499 0.7624 0.2350   0.3236  0.2410
## 500 0.7638 0.2354   0.3228  0.2405
## 501 0.7563 0.2349   0.3230  0.2397
## 502 0.7586 0.2350   0.3217  0.2405
## 503 0.7661 0.2350   0.3210  0.2398
## 504 0.7703 0.2360   0.3202  0.2389
## 505 0.7746 0.2372   0.3255  0.2369
## 506 0.7816 0.2389   0.3285  0.2380
## 507 0.7830 0.2398   0.3287  0.2401
## 508 0.7853 0.2401   0.3306  0.2412
## 509 0.7886 0.2413   0.3319  0.2421
## 510 0.7891 0.2407   0.3322  0.2424
## 511 0.7853 0.2394   0.3322  0.2432
## 512 0.7821 0.2398   0.3330  0.2433
## 513 0.7886 0.2411   0.3363  0.2449
## 514 0.7938 0.2421   0.3420  0.2462
## 515 0.7971 0.2435   0.3420  0.2464
## 516 0.7985 0.2446   0.3442  0.2449
## 517 0.8093 0.2456   0.3455  0.2478
## 518 0.8172 0.2454   0.3492  0.2458
## 519 0.8247 0.2478   0.3491  0.2455
## 520 0.8280 0.2473   0.3518  0.2485
## 521 0.8177 0.2484   0.3535  0.2480
## 522 0.8200 0.2496   0.3516  0.2479
## 523 0.8205 0.2505   0.3548  0.2477
## 524 0.8229 0.2529   0.3540  0.2500
## 525 0.8133 0.2493   0.3481  0.2480
## 526 0.8143 0.2496   0.3476  0.2475
## 527 0.8200 0.2494   0.3478  0.2482
## 528 0.8167 0.2486   0.3489  0.2470
## 529 0.8042 0.2454   0.3513  0.2420
## 530 0.7662 0.2359   0.3435  0.2360
## 531 0.7758 0.2400   0.3425  0.2342
## 532 0.7753 0.2407   0.3295  0.2364
## 533 0.7604 0.2407   0.3110  0.2285
## 534 0.7666 0.2374   0.3150  0.2310
## 535 0.7840 0.2428   0.3260  0.2369
## 536 0.7792 0.2418   0.3272  0.2369
## 537 0.7888 0.2435   0.3299  0.2378
## 538 0.7926 0.2452   0.3348  0.2412
## 539 0.7921 0.2449   0.3324  0.2430
## 540 0.7864 0.2445   0.3271  0.2388
## 541 0.7806 0.2431   0.3241  0.2355
## 542 0.7767 0.2419   0.3227  0.2358
## 543 0.7902 0.2431   0.3261  0.2380
## 544 0.7868 0.2426   0.3260  0.2366
## 545 0.7960 0.2455   0.3281  0.2392
## 546 0.7969 0.2447   0.3294  0.2405
## 547 0.8095 0.2463   0.3316  0.2457
## 548 0.8171 0.2470   0.3305  0.2454
## 549 0.8109 0.2461   0.3275  0.2434
## 550 0.8104 0.2464   0.3288  0.2424
## 551 0.8070 0.2469   0.3277  0.2421
## 552 0.8066 0.2472   0.3254  0.2413
## 553 0.8061 0.2466   0.3268  0.2392
## 554 0.8066 0.2470   0.3289  0.2394
## 555 0.8037 0.2467   0.3229  0.2387
## 556 0.7897 0.2437   0.3126  0.2330
## 557 0.7907 0.2454   0.3111  0.2330
## 558 0.8022 0.2461   0.3169  0.2345
## 559 0.7912 0.2447   0.3120  0.2296
## 560 0.7897 0.2444   0.3117  0.2329
## 561 0.7969 0.2450   0.3162  0.2326
## 562 0.7979 0.2449   0.3153  0.2331
## 563 0.7912 0.2456   0.3159  0.2323
## 564 0.7840 0.2446   0.3118  0.2280
## 565 0.7907 0.2449   0.3134  0.2309
## 566 0.7936 0.2449   0.3150  0.2329
## 567 0.7969 0.2464   0.3201  0.2325
## 568 0.7936 0.2454   0.3187  0.2330
## 569 0.7936 0.2453   0.3178  0.2350
## 570 0.7917 0.2452   0.3121  0.2354
## 571 0.7830 0.2432   0.3103  0.2368
## 572 0.7849 0.2424   0.3065  0.2385
## 573 0.7950 0.2441   0.3126  0.2395
## 574 0.7767 0.2437   0.3082  0.2381
## 575 0.7691 0.2425   0.3081  0.2376
## 576 0.7652 0.2407   0.3150  0.2385
## 577 0.7628 0.2389   0.3141  0.2350
## 578 0.7604 0.2381   0.3103  0.2360
## 579 0.7618 0.2374   0.3064  0.2379
## 580 0.7695 0.2397   0.3110  0.2385
## 581 0.7638 0.2392   0.3083  0.2374
## 582 0.7556 0.2380   0.3080  0.2362
## 583 0.7594 0.2378   0.3091  0.2350
## 584 0.7647 0.2388   0.3126  0.2390
## 585 0.7695 0.2400   0.3176  0.2391
## 586 0.7739 0.2397   0.3176  0.2402
## 587 0.7758 0.2405   0.3183  0.2434
## 588 0.7849 0.2416   0.3188  0.2441
## 589 0.7936 0.2440   0.3211  0.2451
## 590 0.7854 0.2433   0.3203  0.2442
## 591 0.7864 0.2447   0.3216  0.2439
## 592 0.7811 0.2460   0.3192  0.2454
## 593 0.7787 0.2473   0.3188  0.2450
## 594 0.7893 0.2487   0.3242  0.2461
## 595 0.7864 0.2492   0.3208  0.2466
## 596 0.7825 0.2492   0.3181  0.2450
## 597 0.7844 0.2493   0.3161  0.2459
## 598 0.7873 0.2485   0.3159  0.2461
## 599 0.7907 0.2491   0.3155  0.2460
## 600 0.7873 0.2489   0.3127  0.2451
## 601 0.7734 0.2455   0.3085  0.2436
## 602 0.7767 0.2472   0.3120  0.2454
## 603 0.7825 0.2492   0.3088  0.2440
## 604 0.7945 0.2512   0.3118  0.2454
## 605 0.7936 0.2512   0.3129  0.2460
## 606 0.8013 0.2528   0.3137  0.2468
## 607 0.8027 0.2528   0.3144  0.2487
## 608 0.7941 0.2517   0.3095  0.2485
## 609 0.7950 0.2519   0.3095  0.2490
## 610 0.7936 0.2511   0.3124  0.2501
## 611 0.7984 0.2507   0.3117  0.2505
## 612 0.7864 0.2491   0.3109  0.2495
## 613 0.7883 0.2484   0.3105  0.2510
## 614 0.7753 0.2473   0.3029  0.2495
## 615 0.7840 0.2463   0.3002  0.2517
## 616 0.7816 0.2465   0.3009  0.2528
## 617 0.7806 0.2454   0.2990  0.2512
## 618 0.7782 0.2433   0.2976  0.2508
## 619 0.7763 0.2421   0.2901  0.2491
## 620 0.7734 0.2420   0.2839  0.2494
## 621 0.7700 0.2397   0.2830  0.2494
## 622 0.7835 0.2422   0.2854  0.2501
## 623 0.7796 0.2417   0.2798  0.2485
## 624 0.7806 0.2407   0.2746  0.2511
## 625 0.7830 0.2410   0.2770  0.2492
## 626 0.7767 0.2389   0.2748  0.2496
## 627 0.7787 0.2388   0.2779  0.2519
## 628 0.7912 0.2416   0.2824  0.2530
## 629 0.7931 0.2419   0.2830  0.2547
## 630 0.7859 0.2408   0.2789  0.2546
## 631 0.7950 0.2417   0.2856  0.2552
## 632 0.8018 0.2434   0.2860  0.2571
## 633 0.7984 0.2447   0.2827  0.2570
## 634 0.7941 0.2451   0.2816  0.2572
## 635 0.7989 0.2474   0.2816  0.2588
## 636 0.8013 0.2466   0.2798  0.2596
## 637 0.8143 0.2467   0.2807  0.2583
## 638 0.8201 0.2476   0.2866  0.2572
## 639 0.8215 0.2494   0.2913  0.2593
## 640 0.8220 0.2498   0.2913  0.2590
## 641 0.8244 0.2510   0.2884  0.2608
## 642 0.8312 0.2538   0.2873  0.2608
## 643 0.8298 0.2552   0.2870  0.2585
## 644 0.8298 0.2566   0.2867  0.2586
## 645 0.8356 0.2575   0.2862  0.2595
## 646 0.8230 0.2548   0.2748  0.2590
## 647 0.8298 0.2565   0.2748  0.2610
## 648 0.8312 0.2589   0.2724  0.2610
## 649 0.8293 0.2591   0.2728  0.2622
## 650 0.8356 0.2605   0.2751  0.2630
## 651 0.8356 0.2596   0.2789  0.2632
## 652 0.8312 0.2598   0.2770  0.2622
## 653 0.8143 0.2565   0.2734  0.2613
## 654 0.8201 0.2584   0.2736  0.2616
## 655 0.8123 0.2558   0.2694  0.2630
## 656 0.8128 0.2557   0.2702  0.2624
## 657 0.8114 0.2560   0.2672  0.2633
## 658 0.8143 0.2566   0.2660  0.2642
## 659 0.8201 0.2570   0.2735  0.2644
## 660 0.8210 0.2576   0.2720  0.2643
## 661 0.8249 0.2577   0.2725  0.2645
## 662 0.8225 0.2567   0.2729  0.2650
## 663 0.8298 0.2581   0.2796  0.2673
## 664 0.8366 0.2601   0.2801  0.2703
## 665 0.8463 0.2606   0.2797  0.2689
## 666 0.8492 0.2614   0.2770  0.2694
## 667 0.8434 0.2622   0.2770  0.2691
## 668 0.8385 0.2608   0.2727  0.2691
## 669 0.8438 0.2608   0.2765  0.2696
## 670 0.8438 0.2598   0.2750  0.2688
## 671 0.8390 0.2591   0.2720  0.2680
## 672 0.8380 0.2566   0.2722  0.2668
## 673 0.8341 0.2517   0.2699  0.2665
## 674 0.8307 0.2528   0.2683  0.2681
## 675 0.8298 0.2524   0.2658  0.2685
## 676 0.8240 0.2541   0.2670  0.2681
## 677 0.8390 0.2586   0.2705  0.2698
## 678 0.8327 0.2592   0.2682  0.2698
## 679 0.8283 0.2586   0.2687  0.2678
## 680 0.8356 0.2587   0.2760  0.2694
## 681 0.8332 0.2586   0.2753  0.2700
## 682 0.8424 0.2587   0.2820  0.2722
## 683 0.8448 0.2595   0.2805  0.2706
## 684 0.8429 0.2586   0.2859  0.2705
## 685 0.8472 0.2579   0.2830  0.2686
## 686 0.8429 0.2575   0.2848  0.2687
## 687 0.8472 0.2579   0.2841  0.2701
## 688 0.8346 0.2567   0.2793  0.2700
## 689 0.8337 0.2545   0.2781  0.2699
## 690 0.8235 0.2528   0.2753  0.2710
## 691 0.8094 0.2495   0.2730  0.2700
## 692 0.8050 0.2520   0.2757  0.2690
## 693 0.8075 0.2486   0.2737  0.2695
## 694 0.7507 0.2351   0.2619  0.2586
## 695 0.7764 0.2384   0.2647  0.2580
## 696 0.7682 0.2377   0.2625  0.2571
## 697 0.7692 0.2396   0.2624  0.2571
## 698 0.7701 0.2408   0.2579  0.2616
## 699 0.7677 0.2411   0.2564  0.2616
## 700 0.7692 0.2411   0.2580  0.2596
## 701 0.7682 0.2436   0.2735  0.2590
## 702 0.7541 0.2413   0.2686  0.2583
## 703 0.7507 0.2412   0.2688  0.2558
## 704 0.7323 0.2359   0.2625  0.2497
## 705 0.7313 0.2343   0.2648  0.2497
## 706 0.7347 0.2334   0.2599  0.2489
## 707 0.7367 0.2342   0.2630  0.2497
## 708 0.7522 0.2378   0.2635  0.2517
## 709 0.7604 0.2408   0.2676  0.2542
## 710 0.7629 0.2418   0.2718  0.2554
## 711 0.7590 0.2418   0.2701  0.2520
## 712 0.7565 0.2408   0.2685  0.2544
## 713 0.7604 0.2421   0.2705  0.2573
## 714 0.7648 0.2437   0.2693  0.2612
## 715 0.7546 0.2421   0.2639  0.2605
## 716 0.7565 0.2418   0.2648  0.2595
## 717 0.7478 0.2412   0.2684  0.2550
## 718 0.7502 0.2415   0.2679  0.2545
## 719 0.7527 0.2422   0.2683  0.2520
## 720 0.7464 0.2429   0.2703  0.2539
## 721 0.7439 0.2440   0.2710  0.2548
## 722 0.7372 0.2417   0.2682  0.2505
## 723 0.7372 0.2414   0.2667  0.2477
## 724 0.7333 0.2398   0.2667  0.2480
## 725 0.7308 0.2394   0.2639  0.2468
## 726 0.7386 0.2411   0.2631  0.2473
## 727 0.7376 0.2410   0.2626  0.2493
## 728 0.7459 0.2427   0.2636  0.2510
## 729 0.7473 0.2438   0.2633  0.2543
## 730 0.7444 0.2446   0.2617  0.2547
## 731 0.7643 0.2489   0.2711  0.2605
## 732 0.7590 0.2482   0.2710  0.2573
## 733 0.7435 0.2460   0.2714  0.2524
## 734 0.7284 0.2419   0.2667  0.2492
## 735 0.7318 0.2428   0.2665  0.2519
## 736 0.7221 0.2407   0.2623  0.2437
## 737 0.7279 0.2418   0.2626  0.2459
## 738 0.7391 0.2432   0.2653  0.2473
## 739 0.7401 0.2439   0.2690  0.2485
## 740 0.7308 0.2431   0.2664  0.2456
## 741 0.7367 0.2431   0.2653  0.2436
## 742 0.7304 0.2403   0.2616  0.2385
## 743 0.7362 0.2414   0.2602  0.2389
## 744 0.7279 0.2413   0.2550  0.2330
## 745 0.7294 0.2414   0.2532  0.2306
## 746 0.7260 0.2417   0.2510  0.2315
## 747 0.7245 0.2418   0.2530  0.2274
## 748 0.7153 0.2397   0.2496  0.2247
## 749 0.7134 0.2372   0.2503  0.2219
## 750 0.7279 0.2391   0.2517  0.2306
## 751 0.7323 0.2394   0.2523  0.2323
cat("\n")
# Print results for Q2
cat("Q2:\n")
## Q2:
cat("Covariance Matrix:\n")
## Covariance Matrix:
print(cov_mat_q2)
##               tw0050       tw0056     tw006205      tw00646
## tw0050   0.008517950 0.0019828386 0.0010883558 0.0018226448
## tw0056   0.001982839 0.0004766778 0.0002154597 0.0004374328
## tw006205 0.001088356 0.0002154597 0.0005704526 0.0001692717
## tw00646  0.001822645 0.0004374328 0.0001692717 0.0004942069
cat("\n")
# Print results
cat("Q3:\n")
## Q3:
cat("Tangency Portfolio Weights:", weights_tangency, "\n")
## Tangency Portfolio Weights: 0 0.1314039 0.4288648 0.4397313
cat("Tangency Portfolio Return:", return_tangency, "\n")
## Tangency Portfolio Return: 0.2512415
cat("Tangency Portfolio Risk:", risk_tangency, "\n")
## Tangency Portfolio Risk: 0.01863849