diff --git a/black_litterman/black_litterman.ipynb b/black_litterman/black_litterman.ipynb index e028bfe..dc37b66 100644 --- a/black_litterman/black_litterman.ipynb +++ b/black_litterman/black_litterman.ipynb @@ -35,8 +35,8 @@ "execution_count": 1, "metadata": { "ExecuteTime": { - "end_time": "2020-06-14T10:09:42.791943Z", - "start_time": "2020-06-14T10:09:41.913865Z" + "end_time": "2020-06-15T09:34:14.837254Z", + "start_time": "2020-06-15T09:34:13.948179Z" } }, "outputs": [ @@ -69,8 +69,8 @@ "execution_count": 2, "metadata": { "ExecuteTime": { - "end_time": "2020-06-14T10:09:42.798864Z", - "start_time": "2020-06-14T10:09:42.793876Z" + "end_time": "2020-06-15T09:34:14.845219Z", + "start_time": "2020-06-15T09:34:14.840185Z" } }, "outputs": [], @@ -93,8 +93,8 @@ "execution_count": 3, "metadata": { "ExecuteTime": { - "end_time": "2020-06-14T10:09:42.815095Z", - "start_time": "2020-06-14T10:09:42.801095Z" + "end_time": "2020-06-15T09:34:14.860304Z", + "start_time": "2020-06-15T09:34:14.847177Z" } }, "outputs": [], @@ -109,7 +109,7 @@ " mean - r) # Big penalty for not meeting stated portfolio return effectively serves as optimization constraint\n", " return var + penalty\n", "\n", - " frontier_mean, frontier_var = [], []\n", + " frontier_mean, frontier_var, frontier_weights = [], [], []\n", " n = len(R) # Number of assets in the portfolio\n", " for r in linspace(min(R), max(R), num=20): # Iterate through the range of returns on Y axis\n", " W = ones([n]) / n # start optimization with equal weights\n", @@ -121,7 +121,8 @@ " # add point to the efficient frontier [x,y] = [optimized.x, r]\n", " frontier_mean.append(r)\n", " frontier_var.append(port_var(optimized.x, C))\n", - " return array(frontier_mean), array(frontier_var)" + " frontier_weights.append(optimized.x)\n", + " return array(frontier_mean), array(frontier_var), frontier_weights" ] }, { @@ -129,8 +130,8 @@ "execution_count": 4, "metadata": { "ExecuteTime": { - "end_time": "2020-06-14T10:09:42.825097Z", - "start_time": "2020-06-14T10:09:42.817098Z" + "end_time": "2020-06-15T09:34:14.869180Z", + "start_time": "2020-06-15T09:34:14.862176Z" } }, "outputs": [], @@ -156,26 +157,27 @@ "execution_count": 5, "metadata": { "ExecuteTime": { - "end_time": "2020-06-14T10:09:42.840100Z", - "start_time": "2020-06-14T10:09:42.828105Z" + "end_time": "2020-06-15T09:34:14.886178Z", + "start_time": "2020-06-15T09:34:14.870180Z" } }, "outputs": [], "source": [ "class Result:\n", - " def __init__(self, W, tan_mean, tan_var, front_mean, front_var):\n", + " def __init__(self, W, tan_mean, tan_var, front_mean, front_var, front_weights):\n", " self.W=W\n", " self.tan_mean=tan_mean\n", " self.tan_var=tan_var\n", " self.front_mean=front_mean\n", " self.front_var=front_var\n", + " self.front_weights=front_weights\n", " \n", "def optimize_frontier(R, C, rf):\n", " W = solve_weights(R, C, rf)\n", " tan_mean, tan_var = port_mean_var(W, R, C) # calculate tangency portfolio\n", - " front_mean, front_var = solve_frontier(R, C, rf) # calculate efficient frontier\n", + " front_mean, front_var, front_weights = solve_frontier(R, C, rf) # calculate efficient frontier\n", " # Weights, Tangency portfolio asset means and variances, Efficient frontier means and variances\n", - " return Result(W, tan_mean, tan_var, front_mean, front_var)\n", + " return Result(W, tan_mean, tan_var, front_mean, front_var, front_weights)\n", "\n", "def display_assets(names, R, C, color='black'):\n", " scatter([C[i, i] ** .5 for i in range(n)], R, marker='x', color=color), grid(True) # draw assets\n", @@ -183,9 +185,19 @@ " text(C[i, i] ** .5, R[i], ' %s' % names[i], verticalalignment='center', color=color) # draw labels\n", "\n", "def display_frontier(result: Result, label=None, color='black'):\n", + " from collections import defaultdict\n", + " from IPython.core.display import HTML\n", " text(result.tan_var ** .5, result.tan_mean, ' tangent', verticalalignment='center', color=color)\n", " scatter(result.tan_var ** .5, result.tan_mean, marker='o', color=color), grid(True)\n", - " plot(list(result.front_var ** .5), list(result.front_mean), label=label, color=color), grid(True) # draw efficient frontier" + " plot(list(result.front_var ** .5), list(result.front_mean), label=label, color=color), grid(True) # draw efficient frontier\n", + " \n", + " table = defaultdict(list)\n", + " for mean, var, weights in zip(result.front_mean, result.front_var, result.front_weights):\n", + " table['Mean'].append(mean)\n", + " table['Variance'].append(var)\n", + " for name, weight in zip(names, weights):\n", + " table[name].append(weight)\n", + " display(HTML(f'Efficient frontier portfolios ({label})'), DataFrame(table))" ] }, { @@ -200,8 +212,8 @@ "execution_count": 6, "metadata": { "ExecuteTime": { - "end_time": "2020-06-14T10:09:43.023106Z", - "start_time": "2020-06-14T10:09:42.842097Z" + "end_time": "2020-06-15T09:34:15.080363Z", + "start_time": "2020-06-15T09:34:14.889177Z" } }, "outputs": [], @@ -237,8 +249,8 @@ "execution_count": 7, "metadata": { "ExecuteTime": { - "end_time": "2020-06-14T10:09:43.045101Z", - "start_time": "2020-06-14T10:09:43.025121Z" + "end_time": "2020-06-15T09:34:15.103192Z", + "start_time": "2020-06-15T09:34:15.083207Z" } }, "outputs": [], @@ -281,8 +293,8 @@ "execution_count": 8, "metadata": { "ExecuteTime": { - "end_time": "2020-06-14T10:09:43.067128Z", - "start_time": "2020-06-14T10:09:43.048095Z" + "end_time": "2020-06-15T09:34:15.126202Z", + "start_time": "2020-06-15T09:34:15.105179Z" } }, "outputs": [ @@ -377,8 +389,8 @@ "execution_count": 9, "metadata": { "ExecuteTime": { - "end_time": "2020-06-14T10:09:43.086100Z", - "start_time": "2020-06-14T10:09:43.070112Z" + "end_time": "2020-06-15T09:34:15.145178Z", + "start_time": "2020-06-15T09:34:15.127176Z" } }, "outputs": [ @@ -571,11 +583,413 @@ "execution_count": 10, "metadata": { "ExecuteTime": { - "end_time": "2020-06-14T10:09:43.585100Z", - "start_time": "2020-06-14T10:09:43.088097Z" + "end_time": "2020-06-15T09:34:15.682178Z", + "start_time": "2020-06-15T09:34:15.146176Z" } }, "outputs": [ + { + "data": { + "text/html": [ + "Efficient frontier portfolios (None)" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
MeanVarianceXOMAAPLMSFTJNJGEGOOGCVXPGWFC
00.0729930.0390151.000000e+006.605827e-130.000000e+003.141376e-133.582690e-130.000000e+001.133815e-128.088530e-130.000000e+00
10.0866230.0279106.525565e-012.363184e-173.405714e-181.841766e-171.901316e-181.167118e-172.654257e-183.474435e-014.806893e-18
20.1002520.0226463.905888e-013.103508e-024.978460e-188.926890e-023.042872e-201.098676e-171.901795e-204.891072e-018.118196e-18
30.1138820.0193162.308191e-014.236332e-022.346708e-193.164565e-011.737696e-189.872993e-181.464824e-194.103611e-019.792957e-18
40.1275120.0172753.965620e-026.477813e-021.108916e-174.985158e-011.896963e-182.120003e-180.000000e+003.970499e-010.000000e+00
50.1411420.0169780.000000e+005.848682e-024.503920e-035.812926e-018.145282e-184.233513e-023.130890e-183.133816e-012.138625e-18
60.1547720.0173872.371734e-183.475954e-021.679852e-025.931626e-011.335224e-181.011812e-017.225629e-182.540982e-014.503802e-18
70.1684010.0182195.978518e-181.770513e-021.377093e-025.849041e-015.882937e-181.665624e-015.935921e-192.170574e-013.941488e-18
80.1820310.0194653.927876e-181.896766e-181.245047e-025.866994e-011.131373e-172.300870e-013.392016e-181.707632e-012.925335e-18
90.1956610.0211520.000000e+001.439495e-237.590878e-035.726037e-017.594778e-242.954611e-016.247377e-241.243443e-012.499182e-18
100.2092910.0233083.079765e-176.099945e-181.367477e-055.527880e-013.878935e-173.623962e-011.406374e-178.480212e-027.699413e-18
110.2229200.0259290.000000e+000.000000e+004.226308e-055.490308e-014.499492e-224.249554e-010.000000e+002.597150e-028.422707e-19
120.2365500.0297621.439719e-181.482016e-180.000000e+003.083295e-018.482538e-185.018505e-014.700375e-181.622029e-012.761709e-02
130.2501800.0326550.000000e+008.017315e-173.987843e-174.247483e-011.664928e-175.460028e-012.387088e-187.550715e-172.924890e-02
140.2638100.0367821.565586e-170.000000e+001.194882e-173.422647e-011.290206e-215.984472e-012.540037e-180.000000e+005.928809e-02
150.2774390.0414080.000000e+003.291318e-235.418230e-182.628227e-012.829988e-186.569326e-011.026260e-173.211074e-238.024470e-02
160.2910690.0465402.871716e-180.000000e+000.000000e+001.819857e-012.664665e-177.126474e-011.012874e-170.000000e+001.053669e-01
170.3046990.0521741.283681e-170.000000e+004.854352e-181.004125e-011.137038e-187.668999e-012.928380e-183.814548e-191.326876e-01
180.3183290.0583121.015719e-177.070833e-153.775496e-141.946389e-021.508271e-188.223928e-016.611768e-182.871746e-151.581433e-01
190.3319580.0668994.251417e-084.635107e-086.506771e-088.061016e-084.699746e-089.999995e-013.907994e-087.501951e-085.800526e-08
\n", + "
" + ], + "text/plain": [ + " Mean Variance XOM AAPL MSFT \\\n", + "0 0.072993 0.039015 1.000000e+00 6.605827e-13 0.000000e+00 \n", + "1 0.086623 0.027910 6.525565e-01 2.363184e-17 3.405714e-18 \n", + "2 0.100252 0.022646 3.905888e-01 3.103508e-02 4.978460e-18 \n", + "3 0.113882 0.019316 2.308191e-01 4.236332e-02 2.346708e-19 \n", + "4 0.127512 0.017275 3.965620e-02 6.477813e-02 1.108916e-17 \n", + "5 0.141142 0.016978 0.000000e+00 5.848682e-02 4.503920e-03 \n", + "6 0.154772 0.017387 2.371734e-18 3.475954e-02 1.679852e-02 \n", + "7 0.168401 0.018219 5.978518e-18 1.770513e-02 1.377093e-02 \n", + "8 0.182031 0.019465 3.927876e-18 1.896766e-18 1.245047e-02 \n", + "9 0.195661 0.021152 0.000000e+00 1.439495e-23 7.590878e-03 \n", + "10 0.209291 0.023308 3.079765e-17 6.099945e-18 1.367477e-05 \n", + "11 0.222920 0.025929 0.000000e+00 0.000000e+00 4.226308e-05 \n", + "12 0.236550 0.029762 1.439719e-18 1.482016e-18 0.000000e+00 \n", + "13 0.250180 0.032655 0.000000e+00 8.017315e-17 3.987843e-17 \n", + "14 0.263810 0.036782 1.565586e-17 0.000000e+00 1.194882e-17 \n", + "15 0.277439 0.041408 0.000000e+00 3.291318e-23 5.418230e-18 \n", + "16 0.291069 0.046540 2.871716e-18 0.000000e+00 0.000000e+00 \n", + "17 0.304699 0.052174 1.283681e-17 0.000000e+00 4.854352e-18 \n", + "18 0.318329 0.058312 1.015719e-17 7.070833e-15 3.775496e-14 \n", + "19 0.331958 0.066899 4.251417e-08 4.635107e-08 6.506771e-08 \n", + "\n", + " JNJ GE GOOG CVX PG \\\n", + "0 3.141376e-13 3.582690e-13 0.000000e+00 1.133815e-12 8.088530e-13 \n", + "1 1.841766e-17 1.901316e-18 1.167118e-17 2.654257e-18 3.474435e-01 \n", + "2 8.926890e-02 3.042872e-20 1.098676e-17 1.901795e-20 4.891072e-01 \n", + "3 3.164565e-01 1.737696e-18 9.872993e-18 1.464824e-19 4.103611e-01 \n", + "4 4.985158e-01 1.896963e-18 2.120003e-18 0.000000e+00 3.970499e-01 \n", + "5 5.812926e-01 8.145282e-18 4.233513e-02 3.130890e-18 3.133816e-01 \n", + "6 5.931626e-01 1.335224e-18 1.011812e-01 7.225629e-18 2.540982e-01 \n", + "7 5.849041e-01 5.882937e-18 1.665624e-01 5.935921e-19 2.170574e-01 \n", + "8 5.866994e-01 1.131373e-17 2.300870e-01 3.392016e-18 1.707632e-01 \n", + "9 5.726037e-01 7.594778e-24 2.954611e-01 6.247377e-24 1.243443e-01 \n", + "10 5.527880e-01 3.878935e-17 3.623962e-01 1.406374e-17 8.480212e-02 \n", + "11 5.490308e-01 4.499492e-22 4.249554e-01 0.000000e+00 2.597150e-02 \n", + "12 3.083295e-01 8.482538e-18 5.018505e-01 4.700375e-18 1.622029e-01 \n", + "13 4.247483e-01 1.664928e-17 5.460028e-01 2.387088e-18 7.550715e-17 \n", + "14 3.422647e-01 1.290206e-21 5.984472e-01 2.540037e-18 0.000000e+00 \n", + "15 2.628227e-01 2.829988e-18 6.569326e-01 1.026260e-17 3.211074e-23 \n", + "16 1.819857e-01 2.664665e-17 7.126474e-01 1.012874e-17 0.000000e+00 \n", + "17 1.004125e-01 1.137038e-18 7.668999e-01 2.928380e-18 3.814548e-19 \n", + "18 1.946389e-02 1.508271e-18 8.223928e-01 6.611768e-18 2.871746e-15 \n", + "19 8.061016e-08 4.699746e-08 9.999995e-01 3.907994e-08 7.501951e-08 \n", + "\n", + " WFC \n", + "0 0.000000e+00 \n", + "1 4.806893e-18 \n", + "2 8.118196e-18 \n", + "3 9.792957e-18 \n", + "4 0.000000e+00 \n", + "5 2.138625e-18 \n", + "6 4.503802e-18 \n", + "7 3.941488e-18 \n", + "8 2.925335e-18 \n", + "9 2.499182e-18 \n", + "10 7.699413e-18 \n", + "11 8.422707e-19 \n", + "12 2.761709e-02 \n", + "13 2.924890e-02 \n", + "14 5.928809e-02 \n", + "15 8.024470e-02 \n", + "16 1.053669e-01 \n", + "17 1.326876e-01 \n", + "18 1.581433e-01 \n", + "19 5.800526e-08 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnAAAAF1CAYAAABoNteNAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdebzMZf/H8ddFsmQLcWevaJEtCXdUtOPuprRwq7RK3bqlvdTdabvblE7dydLdLrQgobSeEpWlLFGkQmhByb4d1++Pz5nfzDkOM2eZ+c7MeT8fj+/jzHeb+cxlzvica3Xee0REREQkdZQKOgARERERKRglcCIiIiIpRgmciIiISIpRAiciIiKSYpTAiYiIiKQYJXAiIiIiKWa/oAOIhxo1aviGDRvu85rNmzdzwAEHJCagFKZyik5lFBuVU3Qqo+hURrFROUWXTGU0Z86ctd77gwpyT1omcA0bNmT27Nn7vCYrK4uOHTsmJqAUpnKKTmUUG5VTdCqj6FRGsVE5RZdMZeScW17Qe9SEKiIiIpJilMCJiIiIpBglcCIiIiIpRgmciIiISIpRAiciIiKSYpTAiYiIiKQYJXAiIiIiKUYJnIiIiEiKUQInIiKSw/t97wPs2gW33w6NG0PLlrbdf3/4/MqV0K2bnT/sMBgwAHbsCJ//9FNo0waOPNK2ESNyP//LL0Pz5nD00dCiBVxxBaxfX3zvUdKDEjgREREgIwMGDgwnbd7bfkZG7uvuuANWr4YFC2DuXJg2DXbuDN9zzjnQvTt89x0sWQKbNsGgQXb+l1/gH/+AYcPg228tmRs+HCZPtvPvvANDhsDbb8PChfDll3D88fDrr4koAUklSuBERKTE895quTIzw0ncwIG2v359OKnbsgVGjoQnn4Ry5exYpUrhJO/DD+34pZfafunSlpA9+6zd+9RTcMkl0KqVna9RAx5+GB580Pbvvx8GD4Y6dcL3X3YZHHFEIkpBUklaroUqIiJSEM5ZorV7tyVtmZl2fMAAO+6c7S9dCvXrW9KWn4UL4dhjcx+rXNnuWbrUzvfpk/t869Z2PHR/KLkT2RfVwImISIm2dSu89RZceSWMHZv7XGTylp/nnrM+cPXqwU8/WU1dfteHju/tfH7HFiyw5z7ssD3jElECJyIiJc66dfDCC9ZfrUYN+Pvf4bXXoGrV3NdF9okDaNQIVqyAjRtt/9JLrR9clSqQnW0DD2bPzv0cGzZYcnfYYfmfnzMHmjSxx0cfbf3eAJo1s+fu3NmSTJFISuBERKRE+OEHq1E76SSoWdP6os2caT/feQcuvtgGHQwYYE2pAwbk7hMHUKECXH459O8P27bZsezs8CjTU06xvm4vvhg+d8MN9hoVKsA//wnPP2+JGVgiecstcPPNtn/bbXDjjTaSNUTJm+RHfeBERCQteW+1XW++advXX9vxZs1sGpBu3ay/Wqj58rPPcvd5GzLEjletmruJ8/774c47oWlT6wtXvrz1a6td264bPx6uuQbuvdcSwS5d4D//sXsPPtimCbnySqvF8x6uuw7OOsvOd+kCa9ZYrVt2tr1206ZwxhmJKTNJHUrgREQkbezYAR99ZAnbxImwahWUKgUnnACPPWZJ26GH5n9vRkbuPmqhJC5v/7QyZWzUaGjkaF716lmfur058USYNWvv5/v02XOgg0heSuBERCSlrV9v86a9+SZMmWI1WxUqWK1Vt27Qtav1c4tF3mRtXwMYRIKkBE5ERFLOTz9ZDduECZCVZasj1KwJF1xgSdspp1jTpki6UgInIiJJz3ubVuOFFxpwww3hkZpHHAHXX29JW9u2NvGtSEmgBE5ERJLSrl22TFVoEMKyZeBcQ9q1s/5n3brZWqIiJZESOBERSRqbNsHUqZawTZ4Mv/8OZcvCqafaeqLVqn3GOeccH3SYIoFTAiciIoH65Rcbtfnmm/D++7B9O1SrBn/7m9WynX46VKxo12Zl7Qg2WJEkoQROREQS7ttvLWGbMAG++ML6uB1yCFx9tSVtHTrAfvofSmSv9OshIiJxl51tidqECZa4LVlix489Fu6+25K2Zs00bYdIrJTAiYhIXGzdak2ib75pTaS//Wa1ap06wb/+ZeuP1qsXdJQiqUkJnIiIFJt162DSJEvapk61dUErV7alobp3t59VqgQdpUjqUwInIiJFsmULjB0LL7xg037s3g116tgC7t26QceOsP/+QUcpkl6UwImISKF88w0MG2aJ259/2pxs+S0SLyLFTwmciIjEbPt2GD/eErePP7aF3c8910aPduigpE0kUZTAiYhIVD/8ACNGwLPPwpo1cOih8NBD1kxas2bQ0YmUPErgREQkX7t22WoIw4bZgIRSpeCss6y27dRTbV9EgqEETkREclm1Cp55BkaOtMd16sBdd8Hll0PdukFHJyKgBE5ERLCRo++/b7VtEyfaxLtnnAFPPQVdu2pVBJFko19JEZESbM0aeO45GD7c+rkddBDceCP07Wv93EQkOSmBExEpYby3+dqGDYM33oAdO+DEE+H+++Hss6Fs2aAjFJFolMCJiJQQ69fDSy9Z4rZoka2I0K8fXHUVNGkSdHQiUhBK4ERE0tysWZa0jR5t65O2aWPTgVxwAVSoEHR0IlIYSuBERNLQ5s2WsA0bBnPmWKJ24YVW23bssUFHJyJFpQRORCSNfP21JW0vvQQbNkDTpjaStHdvLSIvkk6UwImIpLht22wwwtNPw/TpNgjhvPOsf9vxx2t5K5F0pARORCRFffedLW/13HOwbh00agSDB0OfPlCjRtDRiUg8KYETEUkhO3fCW29Zbdv770Pp0tC9u9W2nXyylrcSKSmUwImIpICff7bathEjYPVqqFcP7r0XLrsMatcOOjoRSTQlcCIiScp7+PRTG4Twxhu2uPwZZ9gghS5drPZNREomJXAiIklm82YYNcoSt/nzoWpVuPZauPpqaNw46OhEJBkkpLeEc+5M59xi59xS59yt+Zzv5pyb75yb65yb7ZzrEOu9IiLp4qefynPddVCnjs3X5hyMHAkrV8Jjjyl5E5GwuNfAOedKA08BpwErgVnOuYne+0URl30ATPTee+dcc+BV4MgY7xURSVnZ2TB5stW2vftuW8qUgXPPhX/+U1OAiMjeJaIGrg2w1Hv/g/d+BzAG6BZ5gfd+k/fe5+weAPhY7xURSUVr18JDD8Fhh0G3brBwIVx66Y+sWAGvvALt2yt5E5G9c+G8KU4v4Ny5wJne+yty9i8C2nrv++e57mzgAaAm0NV7/1ms9+ac6wv0BahVq9axY8aM2WdcmzZtomLFikV+f+lO5RSdyig2KifzzTeVmDChDh99VJOdO0txzDF/0K3bKtq3X8e2bRtVRlHocxQblVN0yVRGnTp1muO9b12QexIxiCG/vyH3yBq99+OB8c65E4F7gVNjvTfn/hHACIDWrVv7jh077jOorKwsol0jKqdYqIxiU5LLads2GDvWmklnzYKKFeHKK+Gaa+Doow8EDgRKdhnFSmUUG5VTdKleRolI4FYC9SL26wKr93ax9/4T59xhzrkaBb1XRCSZLFtmE+7+73+2UsJRR8F//wsXXQSVKwcdnYikskQkcLOAxs65Q4BVQE/gH5EXOOcaAd/nDGJoBewPrAPWR7tXRCSZ7N4N771ntW2TJtnKCN262aCETp3Ur01EikfcEzjv/S7nXH9gKlAaeNZ7v9A51y/n/DCgB3Cxc24nsBW4IGdQQ773xjtmEZGC+uMPeP55q3H77juoWRMGDbLpQOrWDTo6EUk3CZnI13s/BZiS59iwiMcPAQ/Feq+ISLKYN89q20aNgi1bbOqPjAzo0QPKlg06OhFJV1qJQUSkgHbsgHHjrD/b9OlQvjz84x/WTHrMMUFHJyIlgRI4EZEYrVoFw4fbgvK//mpzuD36KFx6KRx4YNDRiUhJogRORGQfvIePP7Zm0vHjbZBCly7Qvz+cfroNUhARSTQlcCIi+di8GV580RK3hQuhWjW4/nro1w8OPTTo6ESkpFMCJyISYfly69v2zDOwfj0ceyw8+yz07Gl93UREkoESOBEp8byHadMgMxMmTLC52nr0gOuug3btNHebiCQfJXAiUmJt2wZjxsATT8BXX1kz6c032xJX9epFv19EJChK4ESkxPnlF5twd9gw+O03OPpoG1nauzdUqBB0dCIi0SmBE5ESY/ZsayYdOxZ27YKuXWHAADjlFDWTikhqUQInImlt1y6bdDczE2bMgIoV4eqr4dproVGjoKMTESkcJXAikpZ+/x1GjrRpQH76yab+ePxxm3S3cuWgoxMRKRolcCKSVhYutEEJL70EW7fCySfbtCBdu0Lp0kFHJyJSPJTAiUjK270bpkyxZtL334dy5eDCC+Ff/4JmzYKOTkSk+CmBE5GUtXEjPP88PPkkfPcd1KkD//kPXHkl1KgRdHQiIvGjBE5EUs4PP1jS9uyzsGGDTbZ7zz02+W6ZMkFHJyISf0rgRCQleA8ffWTNpG+9Zf3Zzj/fpgFp0ybo6EREEksJnIgkta1b4ZVXLHFbsMCaRm+/3VZLqF076OhERIKhBE5EktKqVTB0KAwfDuvWQfPm8L//Qa9eWlReREQJnIgklc8/t9q211+H7Gzo1s2aSU86SasliIiEKIETkcBlZ8OECTB4sCVwlSvbSgn9+9sEvCIikpsSOBEJzObNNg3IY4/ZyNLDDrNJeC+5BCpVCjo6EZHkpQRORBLu119tiaunnrIlr9q1g0ceseZSrZYgIhKdEjgRSZhvv7XathdfhB07LGG78UY4/nj1bxMRKQglcCISV97Dp5/CoEFNmTHDlrm65BK4/no4/PCgoxMRSU1K4EQkLrKzYdw4G5gwcyZUrlyFu+6y+dtq1gw6OhGR1FYq6ABEJL1s3gz//S80bmwrJfz+Ozz9NIwd+xkZGUreRCR5vfkmdO8e3n/gAWjUKLz/1lvw97/b44YNoVkzaNnSthkz7PiSJdCli9131FH2Pfjrr8Ufq2rgRKRY/PKLJW5Dh8Iff1i/tkcftS+70qUhK2t30CGKSAnnfe7+tnn3jz8e+vYN73/2mU1r9Ntv9sfnjBnQvn34/Ecf2eowIdu2Qdeu1tf3rLPC16xZA7VqFe97UQ2ciBTJN9/AlVdCgwbwn/9Ap04wfbptZ5+tUaUikhwyMmDgQEvaQgYOtOMhBx0EVarA0qW2v2oV9OgRrl2bMcOSvL155RX461/DyRvYd2LTpsX1LsKUwIlIgXkPH39sX1JNmsDLL8Pll8PixfDGG/v+ghMRSTTvYf16W+UllMT99JPtr1+fO6k7/nhL1BYvtq4g7drZ/q5dMH8+HHdc+NpOnaz5tG1b2//6azj22MS8JzWhikjMdu0KD0yYNcuaDjIybGDCQQcFHZ2ISP6cgyFD7HFmpm2DB9syfUOG5G5Gbd/eErbsbKtNa9MG7rkHvvoKjjjCRtKH5G1CTSTVwIlIVJs22QoJjRvDBRfYX6zDhsGKFXDXXUreRCT5RSZxIXmTNwjXwM2YYQlcpUrWty0rK3f/t/wcfTTMmVOsYe+VEjgR2auff4ZBg6B+fftLtU4dW7P022/hqqugfPmgIxQRiY331nwaKW+fOLBuIatXw7RpcMwxdqxlS/ujNVr3kH/8wxK/yZPDx955BxYsKHr8eSmBE5E9LFpkfdoaNrRh9CefbF9Kn35qqyeU0jeHiKSQUPKWmWl/jO7ebaNKI/vEhThnfdpq1IAyZezYX/9q6zVHS+DKl4dJk+DJJ63FokkTW+85HtMnqQ+ciADhgQmDB9tfj+XL2+jS667LPQ+SiEiqcQ6qVs3d561ePduvWnXPZtTIGjSw1WMuuST3sWXL8n+tI4+0Wrd4UwInUsLt2mUjRwcPhtmzrT/bPffA1VcH1zlXRKS4ZWTsOe9bfn3gUoUSOJESascOW1T+wQfh++9tdNWIEXDhherbJiLpKW+ylqrJGyiBEylxtmyBkSOtxm3lSmjd2qYGUd82EZHUoQROpIT4809b5mrIEFvW5cQT4X//g9NOS+2/QkVESiIlcCJpbu1aePxxW6f0zz+hc2e4/Xbo0CHoyEREpLCUwImkqdWrrZl0+HDYuhXOOccSt1atgo5MRESKSgmcSJr54Qd4+GF47jlbCqZ3b7j1VjjqqKAjExGR4qIETiRNLFpkk+6OHg2lS8Nll8HNN8MhhwQdmYiIFDclcCIpbs4c+M9/bCRphQo2MeUNN0Dt2kFHJiIi8aIETiRFTZsG998PU6dClSpwxx2WvGnyXRGR9KcETiSFeA/vvmuJ27RptmrCAw/ANddA5cpBRyciIomiBE4kBezeDRMmWFPpnDlQt64twnzFFdZsKiIiJYsSOJEktmsXjBljtWyLFsFhh9kqChdfDPvvH3R0IiISFCVwIklo+3Z44QV46CGbFqRpU3jlFTjvPNhPv7UiIiVeQlY+dM6d6Zxb7Jxb6py7NZ/zvZ1z83O2Gc65FhHnljnnFjjn5jrnZiciXpGgbN5sS10deihcdRVUr25Np/PmQa9eSt5ERMTE/b8D51xp4CngNGAlMMs5N9F7vyjish+Bk7z3fzjnOgMjgLYR5zt579fGO1aRoKxfD089ZUterV0LHTtaDdwpp2idUhER2VMi/p5vAyz13v8A4JwbA3QD/j+B897PiLj+c6BuAuISCdz27dZM+uijsGEDdOkCgwbB8ccHHZmIiCQz572P7ws4dy5wpvf+ipz9i4C23vv+e7n+RuDIiOt/BP4APDDcez9iL/f1BfoC1KpV69gxY8bsM65NmzZRsWLFwr2pEkTlFF1hy2jRoso8/PARLF9+ACecsIaLLlpO48ab4hBhctBnKTqVUXQqo9ionKJLpjLq1KnTHO9964Lck4gauPwagPLNGp1znYDLgQ4Rh9t771c752oC7znnvvXef7LHE1piNwKgdevWvmPHjvsMKisri2jXiMopFgUto82b4c47rbm0bl2YMgV+/fUgTj/9oKRYPSEry0a4FnctoD5L0amMolMZxUblFF2ql1EiBjGsBOpF7NcFVue9yDnXHHgG6Oa9Xxc67r1fnfPzN2A81iQrktRGjYKGDaFUKfs5apQd/+ADaNbMBipcfTV8/TV07gzPPw+r9/itCEZWFsyYEfUyEREJUCISuFlAY+fcIc65/YGewMTIC5xz9YFxwEXe+yURxw9wzlUKPQZOB75OQMwihTZqFPTtC8uX28oJy5fDlVfawIRTT7WRpJ98YoMWKleG11+H2bOhd29o2RK2boV77oHjjrPpQ/r2tecBe45bboE2beDww201BoAtW+D886F5c7jgAmjb1p4TbOWGv/4VWrWyaUg25bTSNmwId91lx5s1g2+/hWXLYNgwSzBbtgw/v4iIJJe4J3De+11Af2Aq8A3wqvd+oXOun3OuX85l/waqA0PzTBdSC/jUOTcPmAlM9t6/E++YRYpi0CBLqCJt3Qoffwy33mpTgpxwQvjcuedC69aW+M2dC+XLQ//+MGuW1dBt3QqTJoWv37ULZs60Jti777ZjQ4fCgQfC/PnWPDtnjh1fuxbuuw/efx++/NJe57HHws9Vo4Ydv/pqGDzYkrp+/WDgQIslMk4REUkeCZlVyns/BZiS59iwiMdXAFfkc98PQIu8x0WS2YoVez/3wAOxPcdHH8HDD1si+PvvcPTRcNZZdu6cc+znscdajRnAp5/aQvZgtXbNm9vjzz+3FRzat7f9HTusNi4k8rnGjYstNhERCZ6mBRUpZvXq5Z/ENWgQ2/3bttni9LNn23NlZNixkLJl7Wfp0lYbB+Em1ry8h9NOg9Gj8z+f33OJiEjyS8hKDCIlxfLlUKXKnscrVID779/7fZUqwcaN9jiUrNWoYf3VXn89+ut26ACvvmqPFy2CBQvscbt2MH06LF1q+1u2wJIl+T9HfrGIiEhyUgInUgx277ZBCU2b2tqlF18M9evbKgoNGsCIETZIYW8uucT6nrVsabViV15pAwu6d7fBDNFccw2sWWNNpw89ZD+rVIGDDrIRrr162bF27Wywwr6cdRaMH69BDCIiyUxNqCJFtGJFeU480Wq6zjgDhg+Pvbk0pEcP20Luu8+2vLKywo9r1Aj3gStXDl5+2X5+/70twRWK4eSTbUBEXqF7wQY3hJ778MNtMISIiCQvJXAihbRzp43cvOuu46hY0dYuveiiYNYu3bIFOnWymLyHp5+2yXhFRCQ9KYETKYSvvoLLLrOpNk46aS1jx9akVq3g4qlUKTzvm4iIpD8lcCIFEJpk95FHrH/ZG29AtWqLqFWrZtChiYhICaJBDCIx+vRT69j/4IPQp4+N9gzNoyYiIpJISuBEoti40VZGOOEEmwj3vffgf/+zlQ9ERESCoCZUkb344w8bDJCZaVN0XHcd3HsvVKwYdGQiIlLSKYETyeOnn2yd0REjbCLdM8+01RDatg06MhEREaMETiTHwoU2OGHUKJuKo2dPuOkmaKHVeEVEJMkogZMSzXsbnPDwwzBpki15dc01cP31BZ+MV0REJFGUwEmJtHs3TJxoy059/rmtanD33fDPf0L16kFHJyIism9K4KRE2b4dXnrJVlBYvBgOOcTWML3kEqt9ExERSQVK4KRE+PNPGDbMBif88gsccwyMGWPrj+6n3wIREUkx+q9L0tqqVTYNyLBhNp/baadZDdwppwSzZqmIiEhxUAInaembb6yZ9KWXIDsbzj/fRpS2ahV0ZCIiIkWnBE7SyowZNjBh4kQoXx769oUbbrC+biIiIulCCZykvN27YfJkS9ymT4dq1eDf/7blrw46KOjoREREip8SOElZO3bYpLuPPGJNpg0awBNPwGWXwQEHBB2diIhI/CiBk5SzYYMtczVkCKxebSsljBoF550HZcoEHZ2IiEj8KYGTlPHzz1bD9vTTNi1Ip07w7LNw+ukaUSoiIiWLEjhJekuW2IjSF16AXbts7rabboLjjgs6MhERkWAogZOktWABZGTA+PGw//7Wt+2GG6BRo6AjExERCZYSOEk6W7fCPfdYrVvFinD77XDttVCrVtCRiYiIJAclcJJUPvwQrroKli6FSy+1JK5ataCjEhERSS6lgg5ABGDdOmsiPeUU2//gAxugoORNRERkT0rgJFDew+jRcNRRtuzVbbfB/Plw8slBRyYiIpK81IQqgVm+HK6+Gt5+20aUvv8+NG8edFQiIiLJTzVwknDZ2fD443D00fDJJ/b4s8+UvImIiMRKNXCSUPPmwRVXwOzZ0KULDB1qS2CJiIhI7KLWwDnnFjjnRjnnbnHOdXbO1XXODUpEcJI+tm6FW2+FY4+FFStgzBiYNEnJm4iISGHE0oR6EjAS2Ar0BL4GusYzKEkvH3wAzZrBQw9Bnz628PwFF2j5KxERkcKK2oTqvf8dyMrZcM41Bu6Ia1SSFtats5UTXnjBVk/48ENbv1RERESKJpYm1MaR+9777wB1N5e98h5eecWmBhk1ylZSmD9fyZuIiEhxiWUQwwjn3GHAKmA+UA742jlXwXu/Ja7RScpZtsymBnnnHWjTRlODiIiIxEMsTaidAJxz9YGWQIucn/Occ9ne+yPjG6Kkgl274Mkn4Y47rG9bZib8859QunTQkYmIiKSfmKcR8d6vAFYAE0PHnHMV4xGUpJa5c21qkDlzoGtXmxqkfv2goxIREUlfRZrI13u/qbgCkdSzZQvccgu0bg0rV8LYsfDWW0reRERE4k0T+UqhfPEF9O4N338Pl18OjzwCBx4YdFQiIiIlQ9QEzjlXFugBNIy83nt/T/zCkmS1ezc8+qiNLK1TR1ODiIiIBCGWGrg3gT+BOcD2+IYjyey33+Dii2HqVOjRA555BqpWDToqERGRkieWBK6u9/7MuEciSe399+Gii2D9ehg2DPr21UoKIiIiQYllEMMM51yzuEciSSk72zFoEJx+uvVxmzkTrrpKyZuIiEiQYqmB6wBc4pz7EWtCdYD33mt61jS3fDkMGNCShQttoEJmJhxwQNBRiYiISCwJXOe4RyFJZ9w4S9p27DiA0aOhZ8+gIxIREZGQqE2o3vvl+W2JCE4Sb9s2W0GhRw9bgH7EiNlK3kRERJJMTBP5OucOdM61cc6dGNoK8iLOuTOdc4udc0udc7fmc763c25+zjbDOdci1nul+Hz7LbRtaysp3HADTJ8OdepsCzosERERySOWeeCuAAYAdYG5QDvgM+DkWF7AOVcaeAo4DVgJzHLOTfTeL4q47EfgJO/9H865zsAIoG2M90oReQ8vvGA1bxUqwOTJ0KVL0FGJiIjI3sRSAzcAOA5YnrOw/THAmgK8Rhtgqff+B+/9DmAM0C3yAu/9DO/9Hzm7n2PJYkz3StFs3GjTg1x6qdW+zZun5E1ERCTZxZLAbfPebwNblcF7/y1wRAFeow7wU8T+ypxje3M58HYh75UCmDMHWrWC0aPh3nvhvfegdu2goxIREZFoYhmFutI5VxWYALznnPsDWF2A18hvxjCf74XOdcISuA6FuLcv0BegVq1aZGVl7TOoTZs2Rb0mXXkPb7xRl+HDD+XAA3cwZMg3NG/+J9Om7XltSS6nWKmMYqNyik5lFJ3KKDYqp+hSvYyiJnDe+7NzHmY45z4CqgDvFOA1VgL1Ivbrkk8C6JxrDjwDdPberyvIvTlxjsD6ztG6dWvfsWPHfQaVlZVFtGvS0dq11lw6aRL8/e/w7LPlqF79mL1eX1LLqSBURrFROUWnMopOZRQblVN0qV5GUZtQnbnQOfdv7/3H2ECGlgV4jVlAY+fcIc65/YGewMQ8r1EfGAdc5L1fUpB7JXYffwwtWsC778ITT8CECVC9etBRiYiISEHF0gduKPBXoFfO/kZsZGhMvPe7gP7AVOAb4FXv/ULnXD/nXL+cy/4NVAeGOufmOudm7+veWF9bTHY2ZGTAySfbSgqffw7XXqvlsERERFJVLH3g2nrvWznnvgLImepj/4K8iPd+CjAlz7FhEY+vAK6I9V6J3dat8I9/WG3bxRfDf/8LlSoFHZWIiIgURSwJ3M6c+dg8gHPuIGB3XKOSYvH779bPbcYMazK99tqgIxIREZHiEEsC9xxnxX8AACAASURBVAQwHqjlnLsfOA+4I65RSZH99BOceSYsXQqvvgrnnht0RCIiIlJcYhmFOso5Nwc4JefQ33PmgpMk9fXXlrxt3AhTp0IKD7IRERGRfMSylFZrYBDQMOf6q5xzeO+bxzk2KYRPPoFu3WxJrGnToLn+lURERNJOLE2oo4CbgAWo71tSe+MN6N0bDjkE3nkHGjQIOiIRERGJh1gSuDXee829luSGDoX+/aFdO3jrLc3vJiIiks5iSeDucs49A3wAbA8d9N6Pi1tUEjPv4c474f77bcTp6NHWfCoiIiLpK5YE7lLgSKAM4SZUj62cIAHauRP69YNnn4Urr7RauP1i+RcVERGRlBbLf/ctvPfN4h6JFMjmzXD++TBlCtx1l21aWUFERKRkiCWB+9w518R7vyju0UhM1q6Frl1h9mwYNgyuuiroiERERCSRYkngOgB9nHM/Yn3gHOA1jUgwfvzR5nhbscJGnXbvHnREIiIikmixJHBnxj0KicncudC5M2zfDu+/D+3bBx2RiIiIBCGWlRiWJyIQ2bcPP7TatqpV4YMPoEmToCMSERGRoJQKOgCJbswYazZt0MAWplfyJiIiUrIpgUtyTz0FvXrZBL2ffAJ16wYdkYiIiARNCVwSGzcOrr3WJuh991048MCgIxIREZFkoAQuSc2aBRdeCG3bWhNquXJBRyQiIiLJQglcElqxwmrdatWCCROgfPmgIxIREZFkooWXksyGDfC3v8GWLTbatFatoCMSERGRZKMELons2gUXXACLFsHbb2u0qYiIiORPCVyS8B4GDIB33oHhw+G004KOSERERJKV+sAliSeegKFD4cYboW/foKMRERGRZKYauCTw1lswcKCttPDgg0FHIyLJrmNH+OEHWL4cnLNj3bvbEnubNsHu3XDddbaCi3M2iv3VV+GQQ6BhQ6hUCUqXtvvOPhvGj7fHS5dCnTo2cKp5c3jxxSDenYjEQglcwL76yibqbdUKXn45/KUqIiWT9+GkLL/9kKpVYfp06NAB1q+Hn38Onxs7FlavhvnzoVQpWLkSDjggfP6jj6BGjfD+XXfZz44dYfBgaN26WN+SiMSBmlADtGoVnHWWTdA7cWLuL1gRKXl+/tlq4723fe9tPyNjz2t79rQ5IsEm/T7nnNzPc/DBlryBreCiicBF0osSuIBs2mTJ259/wqRJULt20BGJSJC8t5HomZnhJG7gQNtfvz6c1IWccootr5edbYncBReEz51/vnXNaNkSbrjBavojdepk59q2jf/7EpH4UBNqALKzoXdvmDfPvmRbtAg6IhEJmnNQr56NRs/MtA1sf8iQPZtRS5e25tOxY2HrVuvbFlK3LixebH3gPvzQkr3XXrOfsGcTqoikHtXABeCmm6zJNDMTunQJOhoRSSZDhuy5n18fOLBm1GuvtRq3vMqWhc6d4ZFH4PbbbVUXEUkfSuAS7Omn7Qv52muhf/+goxGRZDNw4J77eZtPQ044AW67zQZCRfrySxvEADYidf58aNCg+GMVkeAogUugqVMtcevadc+/skWkZPMefvrJauYHDLDEK9ScurckzjmbOzJvc+hvv1kf26ZNbTqQ/fbTH4wi6UZ94BJk5Upr5mjaFEaP1nQhIpKbc5ZoRfZ5C/2hV7Vq7mbUrKz8n2PTJvt55pm25WfZsr3HsLfnFZHkowQuQW6+GbZvt+H+lSoFHY2IJKODD87d5y2UxO2tD5yIlFxqQk2AadOs1u3mm+HQQ4OORkSSWd5kTcmbiORHCVycZWdbv7d69eDWW4OORkRERNKBmlDjbORIm+9t7FioUCHoaERERCQdqAYujn7/HQYNsvUFzzsv6GhEREQkXSiBi6M777QlcJ54Qv1YREREpPgogYuTefNg2DC45hpo1izoaERERCSdKIGLA+/hX/+CAw+Eu+8OOhoRERFJNxrEEAevvgqffALDh0O1akFHIyIiIulGNXDFbPNmW9rmmGPg8suDjkZERETSkWrgitkDD9iyWWPGaLksERERiQ/VwBWj77+HRx6B3r2hffugoxEREZF0pQSuGN1wA5QpAw8/HHQkIiIiks7UhFpMpk6FN9+EBx+E2rWDjkZERETSmWrgisGOHTBgADRqBNddF3Q0IiIiku5UA1cMpkyBxYth/HgoWzboaERERCTdqQauGEyaBJUrQ9euQUciIiIiJUFCEjjn3JnOucXOuaXOuVvzOX+kc+4z59x259yNec4tc84tcM7Ndc7NTkS8BeG91cCdcYYNYBARERGJt7g3oTrnSgNPAacBK4FZzrmJ3vtFEZf9DvwL6L6Xp+nkvV8b30gL56uv4OefVfsmIiIiiZOIGrg2wFLv/Q/e+x3AGKBb5AXe+9+897OAnQmIp1hNngzOQefOQUciIiIiJUUiErg6wE8R+ytzjsXKA+865+Y45/oWa2TFYPJkOO44qFkz6EhERESkpEjEKFSXzzFfgPvbe+9XO+dqAu8557713n+yx4tYctcXoFatWmRlZe3zSTdt2hT1mmj++KMMM2ceT58+y8jKWl6k50pWxVFO6U5lFBuVU3Qqo+hURrFROUWX6mWUiARuJVAvYr8usDrWm733q3N+/uacG481ye6RwHnvRwAjAFq3bu07duy4z+fNysoi2jXRvPCCDWLo3/8Qjj32kCI9V7IqjnJKdyqj2KicolMZRacyio3KKbpUL6NENKHOAho75w5xzu0P9AQmxnKjc+4A51yl0GPgdODruEVaQJMnw1/+AsccE3QkIiIiUpLEPYHz3u8C+gNTgW+AV733C51z/Zxz/QCcc39xzq0ErgfucM6tdM5VBmoBnzrn5gEzgcne+3fiHXMsdu605bO6doVScSpF7/e9D9CxI8zOmVylYUPo0SN87vXX4ZJL7PHzz0P//sUfo4iIiCReQlZi8N5PAabkOTYs4vEvWNNqXhuAFvGNrnCmT4cNG+I3fUhGBqxfD0OG2ChX72HgQKha1c7tzezZsHAhHH10fOISERGR4GklhkKaPNkm7j311OJ/bu8tecvMtKQtlLxlZtrx/GriQm68Ef7zn+KPSURERJKH1kItpMmT4aSToFKl4n9u56zmDSxpy8y0xwMGhGvk9ub882HoUFi6tPjjEhEpbrt2wb//Da+9BgccYMfOOw8GDbLHpUtDs2bh69u0qU8K9zsXKTaqgSuEH3+Eb76J7+oLkUlcSLTkDezL7qab4IEH4hebiEgsYunHe8cdsHo1LFgAc+fCtGnWxzikfHk7Htr+8Y8V8Q1aJEUogSuEyZPtZzwTuFCzaaRQc2o0F10En3wCK/Q9JyIBycjI/Z0V+k6L7MO7ZQuMHAlPPgnlytmxSpX23c9XRIwSuEJ4+21o3Ni2eIjs8zZgAOzebT8j+8TtS5kydt3jj8cnPhGRfYm1H+/SpVC//r67omzdCi1bhrcPPzwoMW9CJMmpD1whhf5ajAfnbLRpZJ+3UHNq1aq5m1F37YKyZfd8jssvh/vui36diEhxK2w/3uees2vXrYMZM6BevXATakhW1pr4Bi+SIpTAFUKbNvDOO7BpE1SsGJ/XyMiwv1JDX3ShL8TIL77t22H5cvsLFmDZsvC5smWtX0nIwoXxqzEUEckr9J0VSt5gz++wRo2sq8fGjVYLd+mltjVtCtnZiY9ZJJWoCbUQ2rSxZs3QBLrxkvev1Mj92bOtOeGaa6BKlX0/T+fOMH8+9O5d/DGKiOQnln68FSpYa0H//rBtmx3LzoYdOxIXp0iqUg1cIbRpYz9nziSw4eytW9tI2Fi8/XZ8YxERiZS3H++QIeF9yF0Td//9cOedVutWqZI1mfbpA7Vr2/lQH7iQJk0O1TQiIiiBK5Tq1eGww+CLL4KOREQk+RSkH2+ZMvDgg7blJ29TalbWD0D9uMQtkkqUwBVS27bw8cdBRyEikpxi6ccrIoWnPnCF1LYtrFplm4iI7Glf/XhFpGiUwBVSZD84ERERkURSAldILVta3w31gxMREZFEUwJXSOXKQYsWqoETERFJN7Gs4wuwZo1V5gwfvue5XbugRg247bbcxzt2hCOOsByifXtYvNiOO0eWc7SONUYlcEXQti3MmqUJJ0VERNJFLOv4hrz2GrRrB6NH73nu3XctUXv11T0TwFGjYN48mzLnppsKF6cSuCJo29ZWY4h1PjYRERFJXrGu4xsyejQ8+iisXLnnoMbRo20qnfr14fPP83+9E0+0NYELQwlcEWggg4iISPoITXczYIAlbaVK5Z6QOnIk9U8/wS+/WC5w/vkwdmz43Nat8MEH8Le/Qa9e+dfQAbz1FjRrVrhYlcAVQePGNimlBjKIiIikh8iJp0Pym8NwzBhL3AB69sydpE2aBJ062XJxPXrA+PG5u1v17m2DIadPh8GDCxenJvItglKl4LjjlMCJiIiki72t45s3iRs9Gn791fqzAaxeDd99Z5U7o0dbctawoZ1btw4++ghOPdX2R42yJTGLQjVwRdShgy0Un5FhI05EREQkNeVdx3f37nBzauTAhsWLYfNm6/e2bJltt91mtXIbNsCnn8KKFeFzTz2192bUwlINXBFdf711QLz7bnjnHXj5ZWjUKOioREREpKBiXcd39Gg4++zc9/boYU2p9erBySdD2bLhc926wc03w/btUUOY7Bw7cx5/5j3n7e1CJXBFVLEivPgidO0K/fpZm3ZmJlx2mZaNERERSTWxrOOb35QizZvDokX2+JJLcp+rVs3mjAPIysr/db2nY0HiVBNqMbngAliwwKYWueIKy8TXrg06KhERESmoVFjHVwlcMapbF957z0aUTJ5sQ4OnTg06KhEREUk3SuCKWalScMMNNjdc9epw5pnWlr51a9CRiYiISLpQAhcnLVrYMlsDBsATT9hw4blzg45KRERE0oESuDgqXx4ef9yaUf/4w2ZrfuQRG5YsIiIiUlhK4BLg9NNtgMNZZ9kw4lNOsSU4RERERApDCVyCVK8Or78Ozz4Ls2fbcOMxY4KOSkRERFKRErgEcg4uvdT6wh11lC1we+GF8OefQUcmIiIiqUQJXAAOOww++QTuucdq4Zo3t30RERGRWCiBC8h++8Gdd9pit/vvDx072jpqO3YEHZmIiIgkOyVwAWvbFr76ylZvePBB+Otf4dtvg45KREREkpkSuCRQsSKMGAHjx8Py5dCqFQwdamuxpbO87y+/99uxIxxxhM2r1749LF5sx3ftgttvh8aNbf3Zli3h/vvjHrKIiEhSUAKXRLp3t+lGTjoJ/vlP6NoV5s8POqr4yMiAgQPDSZv3tp/fAsGjRsG8edCnD9x0kx274w5YvdrKa+5cmDYNdu5MVPQiIiLBUgKXZA4+GKZMgSeftIENLVpAly6QlZU+NXLew/r1kJkZTuIGDrT99ev3/j5PPBGWLoUtW2DkSCujcuXsXKVK+Sd/IiIi6UgJXBJyDvr3hxUr4L77bN64Tp2sv9zrr0N2dtARFo1zMGSILTOWmWnrx2Zm2v6QIXY+P2+9Bc2aWRJXv74lbSIiIiWRErgkVq0aDBpk/eKGDbPluM47D448EoYPh61bg46w8EJJXKS9JW+9e1sft+nTYfDgPc8/95ydr1dPK1yIiEjJoAQuBZQvD1ddZaNTX3sNqlaFfv2gYUPruP/HH0FHWHChZtNIkX3iIo0aZf3cJkywJK1RI6ud3LjRzocmR65SJfVrJ0VERGKhBC6FlC4N554LM2fCRx/ZaNU77rCk5vrrLalJBZF93gYMgN27w82pe0viIlWoAJdfbs3M27bZsexszaEnIiIlhxK4FOScTa/x9ts2OvPss+GJJ2yFh4svtpGZycw5q0WM7PMW6hNXtere+8BFuv9+G/DRtCkccwyccIKNUq1dO/7xi4iIBG2/oAOQomneHF56yQY7PP64jc586SUbuXrzzTZyM5aEKNEyMqymLRRbKInLG2tWVv73lyljEx8/+GA8oxQREUlOqoFLEw0aWAK0YgXcey/MmmW1dO3awbhxydk3LG+yloyJpoiISDJSApdmqlWzfnHLl9tqDmvXQo8ecNRRttpDqM+YiIiIpC4lcGmqfHm4+mpYsgRefRUqV7aRrA0bwgMPpObIVRERETFK4NJc6dI2d9ysWfDBBzZf2u2320S4N9ygedNERERSkRK4EsI5OPlkeOcdmzOtWzebtuPQQ2305tdfBx2hiIiIxEoJXAnUogW8/DJ8/z1cc40tz9WsGfztb7b+arqsuSoiIpKuEpLAOefOdM4tds4tdc7dms/5I51znznntjvnbizIvVJ4DRpYLdyKFXDPPfDFF3DSSXD88TB+fHKOXBUREZEEJHDOudLAU0BnoAnQyznXJM9lvwP/AgYX4l4pourV4c47beTqU0/Br7/COedAkyYwadLBGrkqIiKSZBJRA9cGWOq9/8F7vwMYA3SLvMB7/5v3fhaws6D3SvGpUMGaVJcsgbFjoWJFePTRI6hb15aumjwZtm8POkoRERFxPs4dnpxz5wJneu+vyNm/CGjrve+fz7UZwCbv/eBC3NsX6AtQq1atY8eMGbPPuDZt2kTFihWL8tbSnvcwY0ZZsrIO5bPPqrN5835UqLCLdu3WccIJa2nb9nfKl1c7qz5LsVE5Racyik5lFBuVU3TJVEadOnWa471vXZB7ErGUVn7z68eaNcZ8r/d+BDACoHXr1r5jx477fOKsrCyiXSPgXBaDBtVixw748EMYN24/JkyoxYcf1qJcOTjjDGtu/dvfbBLhkkifpdionKJTGUWnMoqNyim6VC+jRDShrgTqRezXBVYn4F4pRvvvD2eeaas5/PwzfPwx9O0Lc+bYNCS1asHpp8OwYfDLL0FHKyIikt4SkcDNAho75w5xzu0P9AQmJuBeiZPSpeHEE8MjWGfOhBtvhGXLbPWH2rWhQwd47DH48cegoxUREUk/cU/gvPe7gP7AVOAb4FXv/ULnXD/nXD8A59xfnHMrgeuBO5xzK51zlfd2b7xjltg5B8cdZ8tzLV5sEwLffTds3mwrPRx6KLRqBffdB4sWBR2tiIhIekjIPHDe+yne+8O994d57+/POTbMez8s5/Ev3vu63vvK3vuqOY837O1eSU7OwdFH25QkX31lEwUPHmzrst55p5076igYNMiaXjVhsMi+5fc7snMn3HorNG4MTZtCmzbw9ttwySUwfHjuaydMgC5dbMm8Qw6B33+343/8YfvLl8f9LYhInGglBombQw+1Wrjp02HVKhg6FOrUgYcegtatoWFDGDgQpk3TpMEiGRmWaIWSNu/t9yMjI/d1d95p/VC//tq2t96CjRuhVy/IO/h+zBg7Xq+edW+4NWcq9FtvtT6sDRrE+12JSLwogZOEqF3b/gN5/32bKPi552xJr6eftv50tWvDVVfB1KmwY0fQ0Yoklvewfj389pslbaHkLTPTjoeSui1bYORIePJJKFvWjtWqBeefD6eeCt9+a8ld6Nr334fu3W1/4ED4/HN4/HH49FP740pEUpcSOEm46tWtuWfiRFizxiYN7tQJXnnFRrrWrAkXXWTNP1u2BB2tSPw5B0OG2Gc/MxNKlbKfAwbYcZczodLSpVC/PlSuvOdzlC5tU/q8+qrtT5xov1eVKtl+mTLwyCOWyD3+uI0sF5HUpQROAlWpktUejBljydxbb9l/QlOmwNlnw0EHwbnnWnL3559BRysSP85ZU2ekyOQtFpHNqKHm00hvvw0HH2xNryKS2pTASdIoV84mBH72WWtm/eADuPRSmDEDeve2ZK5LF3jmGUv2RNKJ99YHLlKoOTWkUSObumfjxvyfo317a0KdN89+b7p0CZ+bOxfee8+aUYcMCTe1ikhqUgInSWm//eDkk+G//4WVK+0/owEDbKqSK6+Ev/wFOnaEJ57Y8z89kVQT6vP222/2Od+9235mZuZO4ipUsHWJ//WvcF/Rn3+Gl1+2x85ZjXafPpa8lSsXfv6rr7am0/r14aabbO5GEUldSuAk6ZUqBX/9q/XfWbrUahLuuAPWrbP/5OrXh7ZtbXTrkiVBRytScM5B1arWBy7UbDpkiH2+q1bN3Yx6331WG92kiU0j0r277Yf06mU1cD17ho+NHGm/J6edZvvXXGMDHj7+ODHvT0SKXyLWQhUpNs7Z6NUWLWzC4CVLYPx4GDfOpka49Vb7T+2cc2xr3rxgfYhEgpKRAVlZ4c9rKInL+/ndf394+GHb8nPMMXvOH9e3r20hpUvbXIwikrpUAycp7fDD4ZZb4IsvrG/QE09AjRpWS9GypfUZuukmGxQROceWSCrQHx8isjeqgZO0Ua8eXHutbWvW2DQK48ZZP6LBg+2aqlWthq5pU2jWzLamTeHAA4ONXUREpCCUwElaOugg6+x9+eWwYYP1CVqwwKZPWLAARo+GYcPC19epE07mQondUUeFO4GLiIgkEyVwkvYqV4YTTrAtxHtb3mvBgtyJ3Ycfhkf3lSoVXm8ylNQ1a2ZLhJUuHcx7ERERASVwUkI5B3Xr2ta5c/j4rl020jUysZs3z5piQ/3nypcPjwBs1gx27z6Qww+3CVLVZ0lERBJBCZxIhP32gyOPtO2888LHN2+Gb77JndhNnQovvADQgptvhmrV9myGPfpoqFIlqHcjIiLpSgmcSAwOOABat7Yt0tq18PLLcylduuX/J3Yvvph7pvz69fdM7I44IrwYuYiISEEpgRMpgho1oGXL9XTsGD7mPSxfHu5XF0rs3n0Xdu60a/bbz6ZAyZvYNWxofe9ERET2RQmcSDFzzhKxhg1tbdeQHTts4uHIxG7mTBg7NnzNAQdYs2vexK5mzUS/CxERSWZK4EQSZP/9w3PQRS5ztHEjLFyYO7F780343//C1xx0UO5560L96ypWTPz7EBGR4CmBEwlYpUrQrp1tkX79NfcUJwsW2JqWW7aErznkkD0Tu8MPhzJlEvseREQksZTAiSSpWrVsO/XU8LHdu+HHH/dM7CZPhuxsu6ZMGRtFm7cZtn59TXMiIpIulMCJpJBSpeCww2zr3j18fPt2+Pbb3IndtGnwyivhaypVCid0kYld9eqJfx8iIlI0SuBE0kDZstCihW2R/vwznNCFfr72GowYEb7mL3/Zsxm2SROoUCG21/Y+d81e3v3sbGjTBi6+uMr/j9Y9/XS48kqba2/ECHjsMTteubI97tDB9jt2hB9+sFG9oefs3h3efx82bYq1dERE0o8SOJE0VqUKtG9vW4j38PPPey4jNnQobNtm1zhntXx5E7tGjWwKlJCMDFi/HoYMsXu8h4EDoWpVOwe27NjQodCrV2OuuQZef92uPe88mDQJhg+HTz+1KVm+/NIStJkzLbEEe67p0y2pW7/eYhcRKemUwImUMM5B7dq2nXFG+Hh2Nnz//Z6J3ZtvWt87sJq+o44KJ3Vz59p57+Hxxy15y8yEAQNy18S1bQtHH72BjIyKvPIKvPeeHX/oIXjkEUveAFq1gj594Kmn4N577VjPnjBmjCVw48bBOefYqF0RkZJMCZyIAFZTdvjhtvXoET6+deuey4h98AG89FL4mieesA0seQvVyEW68sof6NWrNtddZzV5YInYscfmvq5169ASZeaUU6y5NTvbErkRI8LJnYhISaUETkT2qXx5qxlr1Sr38d9/t2Ru/ny49trw8fySN4D586tSpYrdsy95+9CVLm21b2PHWjLZsGGh34qISNrQoj0iUijVqsEJJ8DSpbmPDxxoSVikzZth+PBD+fBDWLMGpkyx402awJw5ua/98ks7HqlnT0sSzz+/eN+DiEiqUgInIoUSGrAQ6vO2e7f9zMzcM4m75x7o2HENRx5pAxoGDrQBEzffDLfcAuvW2XVz58Lzz8M11+R+rRNOgNtug169Evb2RESSmppQRaRQnLMRopF93oYMsXNVq4abQRctgvHj4cknlwMNaNnSBk889BDcdResWgXHH2/XV6oEL78MBx+852vdeGNC356ISFJTAicihZaRkbvPWiiJi+zD1qQJLFkCWVm7//9YaMADwNVX25afrKz8j2sOOBEp6dSEKiJFknfAgpbrEhGJPyVwIiIiIilGCZyIiIhIilECJyIiIpJilMCJiIiIpBglcCIiIiIpRgmciIiISIpRAiciIiKSYpTAiYiIiKQYJXAiIiIiKcb5yBWn04Rzbg2wPMplNYC1CQgn1amcolMZxUblFJ3KKDqVUWxUTtElUxk18N4fVJAb0jKBi4Vzbrb3vnXQcSQ7lVN0KqPYqJyiUxlFpzKKjcopulQvIzWhioiIiKQYJXAiIiIiKaYkJ3Ajgg4gRaicolMZxUblFJ3KKDqVUWxUTtGldBmV2D5wIiIiIqmqJNfAiYiIiKSktEngnHNnOucWO+eWOuduzef8kc65z5xz251zN0Ycr+ec+8g5941zbqFzbkDEuQzn3Crn3NycrUui3k88FLaMcs4tc84tyCmH2RHHqznn3nPOfZfz88BEvJd4KcLn6IiIz8lc59wG59x1OefS6nMEMZVTb+fc/JxthnOuRbR7S+BnKd8yKknfSVDkz5K+l9jnZ6nEfC/FUEbdcspnrnNutnOuQ7R7k/5z5L1P+Q0oDXwPHArsD8wDmuS5piZwHHA/cGPE8YOBVjmPKwFLQvcCGZHXpvJWlDLKObcMqJHP8z4M3Jrz+FbgoaDfa1BllOd5fsHm9Umrz1EByul44MCcx52BL6LdWwI/S3sroxLxnVTUcsrZ1/dSlDLK8zxp+b0UYxlVJNxtrDnwbbR7k/1zlC41cG2Apd77H7z3O4AxQLfIC7z3v3nvZwE78xz/2Xv/Zc7jjcA3QJ3EhJ1QhS6jKLoBL+Q8fgHoXhzBBqS4yugU4HvvfbTJpFNVLOU0w3v/R87u50DdGO4taZ+lfMuoBH0nQdE+S/uiz9Ke0vl7KZYy2uRzMjHgAMDHcG9Sf47SJYGrA/wU/8AOCwAABYhJREFUsb+SQnzhOecaAscAX0Qc7p9T7fps0lWfFkxRy8gD7zrn5jjn+kYcr+W9/xnsPx6shipVFcvnCOgJjM5zLF0+R1DwcroceDuGe0vyZymyjP5fmn8nQdHLSd9Le8r3s0R6fy/FVEbOubOdc98Ck4HLYrg3qT9H6ZLAuXyOFWh4rXOuIvAGcJ33fkPO4aeBw4CWwM/Ao0UJMmBFLaP23vtWWPX8P51zJxZPWEmlOD5H+wN/B16LOJxOnyMoQDk55zph/6HcUtB7U1xRyih0PN2/k6Do5aTvpcgL9/5ZSvfvpZjKyHs/3nt/JFaTdm9B7k1G6ZLArQTqRezXBVbHerNzrgz2RTnKez8udNx7/6v3Ptt7vxsYiVW1pqoilZH3fnXOz9+A8YTL4lfn3MEAOT9/K5Zog1GkMsrRGfjSe/9r6ECafY4gxnJyzjUHngG6ee/XxXBvifss7aWMSsp3EhSxnPS9FLa3MsqR7t9LBfru9t5/AhzmnKsR5d6k/hylSwI3C2jsnDsk5y+NnsDEWG50zjngf8A33vvH8pw7OGL3bODrYoo3CEUpowOcc5VCj4HTCZfFRKBPzuM+wJvFGnViFbqMIvQiTzNFmn2OIIZycs7VB8YBF3nvl8R4b4n6LO2tjErQdxIUrZz0vZRjH79vIen+vRRLGTXK+d3COdcKG7CwLsq9yf05CnoURXFtQBdstNb3wKCcY/2AfjmP/4Jl2huA9TmPKwMdsOrS+cDcnK1Lzj0vAQtyzk0EDg76fQZURodiI3PmAQtD9+bcUx34APgu52e1oN9nEGWUc64C9oVQJc9zptXnKMZyegb4I+J3ava+7i2hn6V8y6gkfScVsZz0vRTb71uJ+F6KoYxuyfmczAU+Azrs695U+BxpJQYRERGRFJMuTagiIiIiJYYSOBEREZEUowROREREJMUogRMRERFJMUrgRERERFKMEjgRERGRFKMETkRERCTFKIETkRLPOTcj6BhERApCE/mKSImVs7SO87YepIhIylANnIikNOfcQ865ayL2M5xzNzjnJjjn5jjnFjrn+kacb+ic+8Y5NxT4EqjnnNuUcy7aPSNzzr3rnCufc+5i59x859w859xLOccudM7NdM7Ndc4Nd86V3kvsLZxznzjnFjnndjvnvHPu7viUlIikE9XAiUhKc84dAzzuvT8pZ38RcCawyXv/e06iNQs4yXu/zjnXEPgBON57/3nOPZu89xWdc9X2cc9SoLX3fq5z7lVs/civsEXE23vv1zrnqgG1gIeBc7z3O3MSxc+99y/mibscti7jxd77mc65e4FywM1eX8wiEsV+QQcgIlIU3vuvnHM13f+1d/+sVQRRGMaf185CREQRQbRRLMRCG+0sLKwEJQS1shQEe8HWD2JlivsBRAhoq/iHqIWVRBBBEq0MiIRjsXMhLBfv1W7C86t2lz0zs93LnF02OQocAn5U1ee2E3et3XYMOMnwU2+A9Wl4G7n3l5pPVfW2Hb8CTgAHgElVbbS1fE9yCzgPvBw6tOwFvs2Y6zLwuqpetPM14IrhTdIiDHCSdoMJsAQcAVaSXGIISBeraivJM4bdramf4wEWqPm143ibIZgFGAeuAI+q6v6cNZ8B3u04P8fQ0pWkuXwHTtJusALcYAhxE2A/w07cVpLTwIUFxvifmlVgOclBgNZCXQWWkhyeXktyfEbtJnC23XMKuN6eQ5LmcgdOUveq6kOSfcCXqvqa5AlwJ8ka8BGY1S4d++eaNu9D4HmSbeBNVd1O8gB4mmQP8Bu4C6yPyh8DV5O8BzaAm1W1iSQtwI8YJEmSOmMLVZIkqTMGOEmSpM4Y4CRJkjpjgJMkSeqMAU6SJKkzBjhJkqTOGOAkSZI6Y4CTJEnqzB+T7Uaui8cRjQAAAABJRU5ErkJggg==\n", @@ -670,37 +1084,841 @@ "execution_count": 11, "metadata": { "ExecuteTime": { - "end_time": "2020-06-14T10:09:43.592094Z", - "start_time": "2020-06-14T10:09:43.587093Z" + "end_time": "2020-06-15T09:34:15.691176Z", + "start_time": "2020-06-15T09:34:15.685178Z" + }, + "code_folding": [] + }, + "outputs": [], + "source": [ + "# Calculate portfolio historical return and variance\n", + "mean, var = port_mean_var(W, R, C)\n", + "\n", + "lmb = (mean - rf) / var # Calculate risk aversion\n", + "Pi = dot(dot(lmb, C), W) # Calculate equilibrium excess returns" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Mean-variance Optimization (based on equilibrium returns)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "ExecuteTime": { + "end_time": "2020-06-15T09:34:16.107112Z", + "start_time": "2020-06-15T09:34:15.692716Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "Efficient frontier portfolios (Historical returns)" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
MeanVarianceXOMAAPLMSFTJNJGEGOOGCVXPGWFC
00.0729930.0390151.000000e+006.605827e-130.000000e+003.141376e-133.582690e-130.000000e+001.133815e-128.088530e-130.000000e+00
10.0866230.0279106.525565e-012.363184e-173.405714e-181.841766e-171.901316e-181.167118e-172.654257e-183.474435e-014.806893e-18
20.1002520.0226463.905888e-013.103508e-024.978460e-188.926890e-023.042872e-201.098676e-171.901795e-204.891072e-018.118196e-18
30.1138820.0193162.308191e-014.236332e-022.346708e-193.164565e-011.737696e-189.872993e-181.464824e-194.103611e-019.792957e-18
40.1275120.0172753.965620e-026.477813e-021.108916e-174.985158e-011.896963e-182.120003e-180.000000e+003.970499e-010.000000e+00
50.1411420.0169780.000000e+005.848682e-024.503920e-035.812926e-018.145282e-184.233513e-023.130890e-183.133816e-012.138625e-18
60.1547720.0173872.371734e-183.475954e-021.679852e-025.931626e-011.335224e-181.011812e-017.225629e-182.540982e-014.503802e-18
70.1684010.0182195.978518e-181.770513e-021.377093e-025.849041e-015.882937e-181.665624e-015.935921e-192.170574e-013.941488e-18
80.1820310.0194653.927876e-181.896766e-181.245047e-025.866994e-011.131373e-172.300870e-013.392016e-181.707632e-012.925335e-18
90.1956610.0211520.000000e+001.439495e-237.590878e-035.726037e-017.594778e-242.954611e-016.247377e-241.243443e-012.499182e-18
100.2092910.0233083.079765e-176.099945e-181.367477e-055.527880e-013.878935e-173.623962e-011.406374e-178.480212e-027.699413e-18
110.2229200.0259290.000000e+000.000000e+004.226308e-055.490308e-014.499492e-224.249554e-010.000000e+002.597150e-028.422707e-19
120.2365500.0297621.439719e-181.482016e-180.000000e+003.083295e-018.482538e-185.018505e-014.700375e-181.622029e-012.761709e-02
130.2501800.0326550.000000e+008.017315e-173.987843e-174.247483e-011.664928e-175.460028e-012.387088e-187.550715e-172.924890e-02
140.2638100.0367821.565586e-170.000000e+001.194882e-173.422647e-011.290206e-215.984472e-012.540037e-180.000000e+005.928809e-02
150.2774390.0414080.000000e+003.291318e-235.418230e-182.628227e-012.829988e-186.569326e-011.026260e-173.211074e-238.024470e-02
160.2910690.0465402.871716e-180.000000e+000.000000e+001.819857e-012.664665e-177.126474e-011.012874e-170.000000e+001.053669e-01
170.3046990.0521741.283681e-170.000000e+004.854352e-181.004125e-011.137038e-187.668999e-012.928380e-183.814548e-191.326876e-01
180.3183290.0583121.015719e-177.070833e-153.775496e-141.946389e-021.508271e-188.223928e-016.611768e-182.871746e-151.581433e-01
190.3319580.0668994.251417e-084.635107e-086.506771e-088.061016e-084.699746e-089.999995e-013.907994e-087.501951e-085.800526e-08
\n", + "
" + ], + "text/plain": [ + " Mean Variance XOM AAPL MSFT \\\n", + "0 0.072993 0.039015 1.000000e+00 6.605827e-13 0.000000e+00 \n", + "1 0.086623 0.027910 6.525565e-01 2.363184e-17 3.405714e-18 \n", + "2 0.100252 0.022646 3.905888e-01 3.103508e-02 4.978460e-18 \n", + "3 0.113882 0.019316 2.308191e-01 4.236332e-02 2.346708e-19 \n", + "4 0.127512 0.017275 3.965620e-02 6.477813e-02 1.108916e-17 \n", + "5 0.141142 0.016978 0.000000e+00 5.848682e-02 4.503920e-03 \n", + "6 0.154772 0.017387 2.371734e-18 3.475954e-02 1.679852e-02 \n", + "7 0.168401 0.018219 5.978518e-18 1.770513e-02 1.377093e-02 \n", + "8 0.182031 0.019465 3.927876e-18 1.896766e-18 1.245047e-02 \n", + "9 0.195661 0.021152 0.000000e+00 1.439495e-23 7.590878e-03 \n", + "10 0.209291 0.023308 3.079765e-17 6.099945e-18 1.367477e-05 \n", + "11 0.222920 0.025929 0.000000e+00 0.000000e+00 4.226308e-05 \n", + "12 0.236550 0.029762 1.439719e-18 1.482016e-18 0.000000e+00 \n", + "13 0.250180 0.032655 0.000000e+00 8.017315e-17 3.987843e-17 \n", + "14 0.263810 0.036782 1.565586e-17 0.000000e+00 1.194882e-17 \n", + "15 0.277439 0.041408 0.000000e+00 3.291318e-23 5.418230e-18 \n", + "16 0.291069 0.046540 2.871716e-18 0.000000e+00 0.000000e+00 \n", + "17 0.304699 0.052174 1.283681e-17 0.000000e+00 4.854352e-18 \n", + "18 0.318329 0.058312 1.015719e-17 7.070833e-15 3.775496e-14 \n", + "19 0.331958 0.066899 4.251417e-08 4.635107e-08 6.506771e-08 \n", + "\n", + " JNJ GE GOOG CVX PG \\\n", + "0 3.141376e-13 3.582690e-13 0.000000e+00 1.133815e-12 8.088530e-13 \n", + "1 1.841766e-17 1.901316e-18 1.167118e-17 2.654257e-18 3.474435e-01 \n", + "2 8.926890e-02 3.042872e-20 1.098676e-17 1.901795e-20 4.891072e-01 \n", + "3 3.164565e-01 1.737696e-18 9.872993e-18 1.464824e-19 4.103611e-01 \n", + "4 4.985158e-01 1.896963e-18 2.120003e-18 0.000000e+00 3.970499e-01 \n", + "5 5.812926e-01 8.145282e-18 4.233513e-02 3.130890e-18 3.133816e-01 \n", + "6 5.931626e-01 1.335224e-18 1.011812e-01 7.225629e-18 2.540982e-01 \n", + "7 5.849041e-01 5.882937e-18 1.665624e-01 5.935921e-19 2.170574e-01 \n", + "8 5.866994e-01 1.131373e-17 2.300870e-01 3.392016e-18 1.707632e-01 \n", + "9 5.726037e-01 7.594778e-24 2.954611e-01 6.247377e-24 1.243443e-01 \n", + "10 5.527880e-01 3.878935e-17 3.623962e-01 1.406374e-17 8.480212e-02 \n", + "11 5.490308e-01 4.499492e-22 4.249554e-01 0.000000e+00 2.597150e-02 \n", + "12 3.083295e-01 8.482538e-18 5.018505e-01 4.700375e-18 1.622029e-01 \n", + "13 4.247483e-01 1.664928e-17 5.460028e-01 2.387088e-18 7.550715e-17 \n", + "14 3.422647e-01 1.290206e-21 5.984472e-01 2.540037e-18 0.000000e+00 \n", + "15 2.628227e-01 2.829988e-18 6.569326e-01 1.026260e-17 3.211074e-23 \n", + "16 1.819857e-01 2.664665e-17 7.126474e-01 1.012874e-17 0.000000e+00 \n", + "17 1.004125e-01 1.137038e-18 7.668999e-01 2.928380e-18 3.814548e-19 \n", + "18 1.946389e-02 1.508271e-18 8.223928e-01 6.611768e-18 2.871746e-15 \n", + "19 8.061016e-08 4.699746e-08 9.999995e-01 3.907994e-08 7.501951e-08 \n", + "\n", + " WFC \n", + "0 0.000000e+00 \n", + "1 4.806893e-18 \n", + "2 8.118196e-18 \n", + "3 9.792957e-18 \n", + "4 0.000000e+00 \n", + "5 2.138625e-18 \n", + "6 4.503802e-18 \n", + "7 3.941488e-18 \n", + "8 2.925335e-18 \n", + "9 2.499182e-18 \n", + "10 7.699413e-18 \n", + "11 8.422707e-19 \n", + "12 2.761709e-02 \n", + "13 2.924890e-02 \n", + "14 5.928809e-02 \n", + "15 8.024470e-02 \n", + "16 1.053669e-01 \n", + "17 1.326876e-01 \n", + "18 1.581433e-01 \n", + "19 5.800526e-08 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "Efficient frontier portfolios (Implied returns)" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
MeanVarianceXOMAAPLMSFTJNJGEGOOGCVXPGWFC
00.0944490.0251522.688679e-133.684896e-132.354618e-130.000000e+003.612019e-132.932892e-133.474916e-131.000000e+005.184776e-13
10.1009620.0169555.232301e-184.707560e-028.690901e-196.207429e-014.466003e-190.000000e+008.600506e-183.321815e-013.247302e-21
20.1074750.0170382.446140e-226.831925e-026.285302e-025.477418e-013.326860e-182.011851e-021.168735e-173.009674e-010.000000e+00
30.1139880.0176404.577372e-181.003800e-018.553522e-024.903010e-012.255694e-185.917637e-022.140373e-182.646074e-013.120910e-18
40.1205020.0187275.054064e-021.140052e-019.717350e-024.273017e-018.930760e-037.490239e-029.545540e-192.271458e-011.227673e-14
50.1270150.0201369.595944e-021.242327e-011.050817e-013.620156e-013.346186e-028.220754e-021.175174e-031.958660e-019.457389e-19
60.1335280.0218471.101281e-011.328644e-011.106079e-013.009300e-015.354068e-029.163221e-022.599307e-021.700240e-014.279642e-03
70.1400420.0238241.231823e-011.397345e-011.108296e-012.488715e-016.945712e-029.589058e-024.862578e-021.437559e-011.965272e-02
80.1465550.0260861.037317e-011.473956e-011.141107e-011.599514e-017.743907e-021.079419e-018.077350e-021.633485e-014.530764e-02
90.1530680.0285371.097743e-011.518745e-011.123424e-011.269891e-019.027073e-021.138526e-019.616011e-021.268782e-017.185799e-02
100.1595820.0315511.067632e-011.067632e-011.067632e-011.067632e-011.067632e-011.067632e-011.067632e-011.067632e-011.458941e-01
110.1660950.0341991.374664e-011.591048e-011.169407e-014.609925e-021.176756e-011.240747e-011.339557e-015.430678e-021.103761e-01
120.1726080.0374041.460909e-011.716512e-011.162922e-011.262296e-121.267793e-011.323194e-011.503665e-012.584738e-021.306531e-01
130.1791220.0409931.165405e-011.787688e-018.584953e-024.007141e-141.310855e-011.269985e-011.590046e-014.200999e-142.017526e-01
140.1856350.0455097.792838e-021.779973e-017.137264e-020.000000e+001.089662e-011.198822e-011.174162e-012.865935e-183.264371e-01
150.1921480.0506050.000000e+001.904286e-012.678544e-180.000000e+001.341001e-011.077932e-011.679997e-011.678742e-173.996784e-01
160.1986620.0572598.624974e-182.017179e-010.000000e+000.000000e+008.796806e-026.263007e-021.066675e-016.099970e-185.410165e-01
170.2051750.0654411.233155e-182.006686e-019.356339e-201.625784e-183.669004e-023.410645e-024.088447e-020.000000e+006.876505e-01
180.2116880.0752881.829508e-171.645697e-011.308653e-174.714145e-189.901813e-193.575762e-192.814627e-180.000000e+008.354303e-01
190.2182020.0898267.144935e-081.012045e-077.124048e-084.077819e-087.852001e-088.419174e-088.013892e-084.202357e-089.999994e-01
\n", + "
" + ], + "text/plain": [ + " Mean Variance XOM AAPL MSFT \\\n", + "0 0.094449 0.025152 2.688679e-13 3.684896e-13 2.354618e-13 \n", + "1 0.100962 0.016955 5.232301e-18 4.707560e-02 8.690901e-19 \n", + "2 0.107475 0.017038 2.446140e-22 6.831925e-02 6.285302e-02 \n", + "3 0.113988 0.017640 4.577372e-18 1.003800e-01 8.553522e-02 \n", + "4 0.120502 0.018727 5.054064e-02 1.140052e-01 9.717350e-02 \n", + "5 0.127015 0.020136 9.595944e-02 1.242327e-01 1.050817e-01 \n", + "6 0.133528 0.021847 1.101281e-01 1.328644e-01 1.106079e-01 \n", + "7 0.140042 0.023824 1.231823e-01 1.397345e-01 1.108296e-01 \n", + "8 0.146555 0.026086 1.037317e-01 1.473956e-01 1.141107e-01 \n", + "9 0.153068 0.028537 1.097743e-01 1.518745e-01 1.123424e-01 \n", + "10 0.159582 0.031551 1.067632e-01 1.067632e-01 1.067632e-01 \n", + "11 0.166095 0.034199 1.374664e-01 1.591048e-01 1.169407e-01 \n", + "12 0.172608 0.037404 1.460909e-01 1.716512e-01 1.162922e-01 \n", + "13 0.179122 0.040993 1.165405e-01 1.787688e-01 8.584953e-02 \n", + "14 0.185635 0.045509 7.792838e-02 1.779973e-01 7.137264e-02 \n", + "15 0.192148 0.050605 0.000000e+00 1.904286e-01 2.678544e-18 \n", + "16 0.198662 0.057259 8.624974e-18 2.017179e-01 0.000000e+00 \n", + "17 0.205175 0.065441 1.233155e-18 2.006686e-01 9.356339e-20 \n", + "18 0.211688 0.075288 1.829508e-17 1.645697e-01 1.308653e-17 \n", + "19 0.218202 0.089826 7.144935e-08 1.012045e-07 7.124048e-08 \n", + "\n", + " JNJ GE GOOG CVX PG \\\n", + "0 0.000000e+00 3.612019e-13 2.932892e-13 3.474916e-13 1.000000e+00 \n", + "1 6.207429e-01 4.466003e-19 0.000000e+00 8.600506e-18 3.321815e-01 \n", + "2 5.477418e-01 3.326860e-18 2.011851e-02 1.168735e-17 3.009674e-01 \n", + "3 4.903010e-01 2.255694e-18 5.917637e-02 2.140373e-18 2.646074e-01 \n", + "4 4.273017e-01 8.930760e-03 7.490239e-02 9.545540e-19 2.271458e-01 \n", + "5 3.620156e-01 3.346186e-02 8.220754e-02 1.175174e-03 1.958660e-01 \n", + "6 3.009300e-01 5.354068e-02 9.163221e-02 2.599307e-02 1.700240e-01 \n", + "7 2.488715e-01 6.945712e-02 9.589058e-02 4.862578e-02 1.437559e-01 \n", + "8 1.599514e-01 7.743907e-02 1.079419e-01 8.077350e-02 1.633485e-01 \n", + "9 1.269891e-01 9.027073e-02 1.138526e-01 9.616011e-02 1.268782e-01 \n", + "10 1.067632e-01 1.067632e-01 1.067632e-01 1.067632e-01 1.067632e-01 \n", + "11 4.609925e-02 1.176756e-01 1.240747e-01 1.339557e-01 5.430678e-02 \n", + "12 1.262296e-12 1.267793e-01 1.323194e-01 1.503665e-01 2.584738e-02 \n", + "13 4.007141e-14 1.310855e-01 1.269985e-01 1.590046e-01 4.200999e-14 \n", + "14 0.000000e+00 1.089662e-01 1.198822e-01 1.174162e-01 2.865935e-18 \n", + "15 0.000000e+00 1.341001e-01 1.077932e-01 1.679997e-01 1.678742e-17 \n", + "16 0.000000e+00 8.796806e-02 6.263007e-02 1.066675e-01 6.099970e-18 \n", + "17 1.625784e-18 3.669004e-02 3.410645e-02 4.088447e-02 0.000000e+00 \n", + "18 4.714145e-18 9.901813e-19 3.575762e-19 2.814627e-18 0.000000e+00 \n", + "19 4.077819e-08 7.852001e-08 8.419174e-08 8.013892e-08 4.202357e-08 \n", + "\n", + " WFC \n", + "0 5.184776e-13 \n", + "1 3.247302e-21 \n", + "2 0.000000e+00 \n", + "3 3.120910e-18 \n", + "4 1.227673e-14 \n", + "5 9.457389e-19 \n", + "6 4.279642e-03 \n", + "7 1.965272e-02 \n", + "8 4.530764e-02 \n", + "9 7.185799e-02 \n", + "10 1.458941e-01 \n", + "11 1.103761e-01 \n", + "12 1.306531e-01 \n", + "13 2.017526e-01 \n", + "14 3.264371e-01 \n", + "15 3.996784e-01 \n", + "16 5.410165e-01 \n", + "17 6.876505e-01 \n", + "18 8.354303e-01 \n", + "19 9.999994e-01 " + ] + }, + "metadata": {}, + "output_type": "display_data" }, - "code_folding": [] - }, - "outputs": [], - "source": [ - "# Calculate portfolio historical return and variance\n", - "mean, var = port_mean_var(W, R, C)\n", - "\n", - "lmb = (mean - rf) / var # Calculate risk aversion\n", - "Pi = dot(dot(lmb, C), W) # Calculate equilibrium excess returns" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "##### Mean-variance Optimization (based on equilibrium returns)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-14T10:09:43.916094Z", - "start_time": "2020-06-14T10:09:43.594122Z" - } - }, - "outputs": [ { "data": { "image/png": "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\n", @@ -797,8 +2015,8 @@ "execution_count": 13, "metadata": { "ExecuteTime": { - "end_time": "2020-06-14T10:09:43.942099Z", - "start_time": "2020-06-14T10:09:43.918110Z" + "end_time": "2020-06-15T09:34:16.137112Z", + "start_time": "2020-06-15T09:34:16.109083Z" } }, "outputs": [ @@ -969,11 +2187,816 @@ "execution_count": 14, "metadata": { "ExecuteTime": { - "end_time": "2020-06-14T10:09:44.298096Z", - "start_time": "2020-06-14T10:09:43.944096Z" - } + "end_time": "2020-06-15T09:34:16.568637Z", + "start_time": "2020-06-15T09:34:16.139091Z" + }, + "scrolled": false }, "outputs": [ + { + "data": { + "text/html": [ + "Efficient frontier portfolios (Implied returns)" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
MeanVarianceXOMAAPLMSFTJNJGEGOOGCVXPGWFC
00.0944490.0251522.688679e-133.684896e-132.354618e-130.000000e+003.612019e-132.932892e-133.474916e-131.000000e+005.184776e-13
10.1009620.0169555.232301e-184.707560e-028.690901e-196.207429e-014.466003e-190.000000e+008.600506e-183.321815e-013.247302e-21
20.1074750.0170382.446140e-226.831925e-026.285302e-025.477418e-013.326860e-182.011851e-021.168735e-173.009674e-010.000000e+00
30.1139880.0176404.577372e-181.003800e-018.553522e-024.903010e-012.255694e-185.917637e-022.140373e-182.646074e-013.120910e-18
40.1205020.0187275.054064e-021.140052e-019.717350e-024.273017e-018.930760e-037.490239e-029.545540e-192.271458e-011.227673e-14
50.1270150.0201369.595944e-021.242327e-011.050817e-013.620156e-013.346186e-028.220754e-021.175174e-031.958660e-019.457389e-19
60.1335280.0218471.101281e-011.328644e-011.106079e-013.009300e-015.354068e-029.163221e-022.599307e-021.700240e-014.279642e-03
70.1400420.0238241.231823e-011.397345e-011.108296e-012.488715e-016.945712e-029.589058e-024.862578e-021.437559e-011.965272e-02
80.1465550.0260861.037317e-011.473956e-011.141107e-011.599514e-017.743907e-021.079419e-018.077350e-021.633485e-014.530764e-02
90.1530680.0285371.097743e-011.518745e-011.123424e-011.269891e-019.027073e-021.138526e-019.616011e-021.268782e-017.185799e-02
100.1595820.0315511.067632e-011.067632e-011.067632e-011.067632e-011.067632e-011.067632e-011.067632e-011.067632e-011.458941e-01
110.1660950.0341991.374664e-011.591048e-011.169407e-014.609925e-021.176756e-011.240747e-011.339557e-015.430678e-021.103761e-01
120.1726080.0374041.460909e-011.716512e-011.162922e-011.262296e-121.267793e-011.323194e-011.503665e-012.584738e-021.306531e-01
130.1791220.0409931.165405e-011.787688e-018.584953e-024.007141e-141.310855e-011.269985e-011.590046e-014.200999e-142.017526e-01
140.1856350.0455097.792838e-021.779973e-017.137264e-020.000000e+001.089662e-011.198822e-011.174162e-012.865935e-183.264371e-01
150.1921480.0506050.000000e+001.904286e-012.678544e-180.000000e+001.341001e-011.077932e-011.679997e-011.678742e-173.996784e-01
160.1986620.0572598.624974e-182.017179e-010.000000e+000.000000e+008.796806e-026.263007e-021.066675e-016.099970e-185.410165e-01
170.2051750.0654411.233155e-182.006686e-019.356339e-201.625784e-183.669004e-023.410645e-024.088447e-020.000000e+006.876505e-01
180.2116880.0752881.829508e-171.645697e-011.308653e-174.714145e-189.901813e-193.575762e-192.814627e-180.000000e+008.354303e-01
190.2182020.0898267.144935e-081.012045e-077.124048e-084.077819e-087.852001e-088.419174e-088.013892e-084.202357e-089.999994e-01
\n", + "
" + ], + "text/plain": [ + " Mean Variance XOM AAPL MSFT \\\n", + "0 0.094449 0.025152 2.688679e-13 3.684896e-13 2.354618e-13 \n", + "1 0.100962 0.016955 5.232301e-18 4.707560e-02 8.690901e-19 \n", + "2 0.107475 0.017038 2.446140e-22 6.831925e-02 6.285302e-02 \n", + "3 0.113988 0.017640 4.577372e-18 1.003800e-01 8.553522e-02 \n", + "4 0.120502 0.018727 5.054064e-02 1.140052e-01 9.717350e-02 \n", + "5 0.127015 0.020136 9.595944e-02 1.242327e-01 1.050817e-01 \n", + "6 0.133528 0.021847 1.101281e-01 1.328644e-01 1.106079e-01 \n", + "7 0.140042 0.023824 1.231823e-01 1.397345e-01 1.108296e-01 \n", + "8 0.146555 0.026086 1.037317e-01 1.473956e-01 1.141107e-01 \n", + "9 0.153068 0.028537 1.097743e-01 1.518745e-01 1.123424e-01 \n", + "10 0.159582 0.031551 1.067632e-01 1.067632e-01 1.067632e-01 \n", + "11 0.166095 0.034199 1.374664e-01 1.591048e-01 1.169407e-01 \n", + "12 0.172608 0.037404 1.460909e-01 1.716512e-01 1.162922e-01 \n", + "13 0.179122 0.040993 1.165405e-01 1.787688e-01 8.584953e-02 \n", + "14 0.185635 0.045509 7.792838e-02 1.779973e-01 7.137264e-02 \n", + "15 0.192148 0.050605 0.000000e+00 1.904286e-01 2.678544e-18 \n", + "16 0.198662 0.057259 8.624974e-18 2.017179e-01 0.000000e+00 \n", + "17 0.205175 0.065441 1.233155e-18 2.006686e-01 9.356339e-20 \n", + "18 0.211688 0.075288 1.829508e-17 1.645697e-01 1.308653e-17 \n", + "19 0.218202 0.089826 7.144935e-08 1.012045e-07 7.124048e-08 \n", + "\n", + " JNJ GE GOOG CVX PG \\\n", + "0 0.000000e+00 3.612019e-13 2.932892e-13 3.474916e-13 1.000000e+00 \n", + "1 6.207429e-01 4.466003e-19 0.000000e+00 8.600506e-18 3.321815e-01 \n", + "2 5.477418e-01 3.326860e-18 2.011851e-02 1.168735e-17 3.009674e-01 \n", + "3 4.903010e-01 2.255694e-18 5.917637e-02 2.140373e-18 2.646074e-01 \n", + "4 4.273017e-01 8.930760e-03 7.490239e-02 9.545540e-19 2.271458e-01 \n", + "5 3.620156e-01 3.346186e-02 8.220754e-02 1.175174e-03 1.958660e-01 \n", + "6 3.009300e-01 5.354068e-02 9.163221e-02 2.599307e-02 1.700240e-01 \n", + "7 2.488715e-01 6.945712e-02 9.589058e-02 4.862578e-02 1.437559e-01 \n", + "8 1.599514e-01 7.743907e-02 1.079419e-01 8.077350e-02 1.633485e-01 \n", + "9 1.269891e-01 9.027073e-02 1.138526e-01 9.616011e-02 1.268782e-01 \n", + "10 1.067632e-01 1.067632e-01 1.067632e-01 1.067632e-01 1.067632e-01 \n", + "11 4.609925e-02 1.176756e-01 1.240747e-01 1.339557e-01 5.430678e-02 \n", + "12 1.262296e-12 1.267793e-01 1.323194e-01 1.503665e-01 2.584738e-02 \n", + "13 4.007141e-14 1.310855e-01 1.269985e-01 1.590046e-01 4.200999e-14 \n", + "14 0.000000e+00 1.089662e-01 1.198822e-01 1.174162e-01 2.865935e-18 \n", + "15 0.000000e+00 1.341001e-01 1.077932e-01 1.679997e-01 1.678742e-17 \n", + "16 0.000000e+00 8.796806e-02 6.263007e-02 1.066675e-01 6.099970e-18 \n", + "17 1.625784e-18 3.669004e-02 3.410645e-02 4.088447e-02 0.000000e+00 \n", + "18 4.714145e-18 9.901813e-19 3.575762e-19 2.814627e-18 0.000000e+00 \n", + "19 4.077819e-08 7.852001e-08 8.419174e-08 8.013892e-08 4.202357e-08 \n", + "\n", + " WFC \n", + "0 5.184776e-13 \n", + "1 3.247302e-21 \n", + "2 0.000000e+00 \n", + "3 3.120910e-18 \n", + "4 1.227673e-14 \n", + "5 9.457389e-19 \n", + "6 4.279642e-03 \n", + "7 1.965272e-02 \n", + "8 4.530764e-02 \n", + "9 7.185799e-02 \n", + "10 1.458941e-01 \n", + "11 1.103761e-01 \n", + "12 1.306531e-01 \n", + "13 2.017526e-01 \n", + "14 3.264371e-01 \n", + "15 3.996784e-01 \n", + "16 5.410165e-01 \n", + "17 6.876505e-01 \n", + "18 8.354303e-01 \n", + "19 9.999994e-01 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "Efficient frontier portfolios (Implied returns (adjusted views))" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
MeanVarianceXOMAAPLMSFTJNJGEGOOGCVXPGWFC
00.0944490.0251522.688679e-133.684896e-132.354618e-130.000000e+003.612019e-132.932892e-133.474916e-131.000000e+005.184776e-13
10.1009620.0169555.232301e-184.707560e-028.690901e-196.207429e-014.466003e-190.000000e+008.600506e-183.321815e-013.247302e-21
20.1074750.0170382.446140e-226.831925e-026.285302e-025.477418e-013.326860e-182.011851e-021.168735e-173.009674e-010.000000e+00
30.1139880.0176404.577372e-181.003800e-018.553522e-024.903010e-012.255694e-185.917637e-022.140373e-182.646074e-013.120910e-18
40.1205020.0187275.054064e-021.140052e-019.717350e-024.273017e-018.930760e-037.490239e-029.545540e-192.271458e-011.227673e-14
50.1270150.0201369.595944e-021.242327e-011.050817e-013.620156e-013.346186e-028.220754e-021.175174e-031.958660e-019.457389e-19
60.1335280.0218471.101281e-011.328644e-011.106079e-013.009300e-015.354068e-029.163221e-022.599307e-021.700240e-014.279642e-03
70.1400420.0238241.231823e-011.397345e-011.108296e-012.488715e-016.945712e-029.589058e-024.862578e-021.437559e-011.965272e-02
80.1465550.0260861.037317e-011.473956e-011.141107e-011.599514e-017.743907e-021.079419e-018.077350e-021.633485e-014.530764e-02
90.1530680.0285371.097743e-011.518745e-011.123424e-011.269891e-019.027073e-021.138526e-019.616011e-021.268782e-017.185799e-02
100.1595820.0315511.067632e-011.067632e-011.067632e-011.067632e-011.067632e-011.067632e-011.067632e-011.067632e-011.458941e-01
110.1660950.0341991.374664e-011.591048e-011.169407e-014.609925e-021.176756e-011.240747e-011.339557e-015.430678e-021.103761e-01
120.1726080.0374041.460909e-011.716512e-011.162922e-011.262296e-121.267793e-011.323194e-011.503665e-012.584738e-021.306531e-01
130.1791220.0409931.165405e-011.787688e-018.584953e-024.007141e-141.310855e-011.269985e-011.590046e-014.200999e-142.017526e-01
140.1856350.0455097.792838e-021.779973e-017.137264e-020.000000e+001.089662e-011.198822e-011.174162e-012.865935e-183.264371e-01
150.1921480.0506050.000000e+001.904286e-012.678544e-180.000000e+001.341001e-011.077932e-011.679997e-011.678742e-173.996784e-01
160.1986620.0572598.624974e-182.017179e-010.000000e+000.000000e+008.796806e-026.263007e-021.066675e-016.099970e-185.410165e-01
170.2051750.0654411.233155e-182.006686e-019.356339e-201.625784e-183.669004e-023.410645e-024.088447e-020.000000e+006.876505e-01
180.2116880.0752881.829508e-171.645697e-011.308653e-174.714145e-189.901813e-193.575762e-192.814627e-180.000000e+008.354303e-01
190.2182020.0898267.144935e-081.012045e-077.124048e-084.077819e-087.852001e-088.419174e-088.013892e-084.202357e-089.999994e-01
\n", + "
" + ], + "text/plain": [ + " Mean Variance XOM AAPL MSFT \\\n", + "0 0.094449 0.025152 2.688679e-13 3.684896e-13 2.354618e-13 \n", + "1 0.100962 0.016955 5.232301e-18 4.707560e-02 8.690901e-19 \n", + "2 0.107475 0.017038 2.446140e-22 6.831925e-02 6.285302e-02 \n", + "3 0.113988 0.017640 4.577372e-18 1.003800e-01 8.553522e-02 \n", + "4 0.120502 0.018727 5.054064e-02 1.140052e-01 9.717350e-02 \n", + "5 0.127015 0.020136 9.595944e-02 1.242327e-01 1.050817e-01 \n", + "6 0.133528 0.021847 1.101281e-01 1.328644e-01 1.106079e-01 \n", + "7 0.140042 0.023824 1.231823e-01 1.397345e-01 1.108296e-01 \n", + "8 0.146555 0.026086 1.037317e-01 1.473956e-01 1.141107e-01 \n", + "9 0.153068 0.028537 1.097743e-01 1.518745e-01 1.123424e-01 \n", + "10 0.159582 0.031551 1.067632e-01 1.067632e-01 1.067632e-01 \n", + "11 0.166095 0.034199 1.374664e-01 1.591048e-01 1.169407e-01 \n", + "12 0.172608 0.037404 1.460909e-01 1.716512e-01 1.162922e-01 \n", + "13 0.179122 0.040993 1.165405e-01 1.787688e-01 8.584953e-02 \n", + "14 0.185635 0.045509 7.792838e-02 1.779973e-01 7.137264e-02 \n", + "15 0.192148 0.050605 0.000000e+00 1.904286e-01 2.678544e-18 \n", + "16 0.198662 0.057259 8.624974e-18 2.017179e-01 0.000000e+00 \n", + "17 0.205175 0.065441 1.233155e-18 2.006686e-01 9.356339e-20 \n", + "18 0.211688 0.075288 1.829508e-17 1.645697e-01 1.308653e-17 \n", + "19 0.218202 0.089826 7.144935e-08 1.012045e-07 7.124048e-08 \n", + "\n", + " JNJ GE GOOG CVX PG \\\n", + "0 0.000000e+00 3.612019e-13 2.932892e-13 3.474916e-13 1.000000e+00 \n", + "1 6.207429e-01 4.466003e-19 0.000000e+00 8.600506e-18 3.321815e-01 \n", + "2 5.477418e-01 3.326860e-18 2.011851e-02 1.168735e-17 3.009674e-01 \n", + "3 4.903010e-01 2.255694e-18 5.917637e-02 2.140373e-18 2.646074e-01 \n", + "4 4.273017e-01 8.930760e-03 7.490239e-02 9.545540e-19 2.271458e-01 \n", + "5 3.620156e-01 3.346186e-02 8.220754e-02 1.175174e-03 1.958660e-01 \n", + "6 3.009300e-01 5.354068e-02 9.163221e-02 2.599307e-02 1.700240e-01 \n", + "7 2.488715e-01 6.945712e-02 9.589058e-02 4.862578e-02 1.437559e-01 \n", + "8 1.599514e-01 7.743907e-02 1.079419e-01 8.077350e-02 1.633485e-01 \n", + "9 1.269891e-01 9.027073e-02 1.138526e-01 9.616011e-02 1.268782e-01 \n", + "10 1.067632e-01 1.067632e-01 1.067632e-01 1.067632e-01 1.067632e-01 \n", + "11 4.609925e-02 1.176756e-01 1.240747e-01 1.339557e-01 5.430678e-02 \n", + "12 1.262296e-12 1.267793e-01 1.323194e-01 1.503665e-01 2.584738e-02 \n", + "13 4.007141e-14 1.310855e-01 1.269985e-01 1.590046e-01 4.200999e-14 \n", + "14 0.000000e+00 1.089662e-01 1.198822e-01 1.174162e-01 2.865935e-18 \n", + "15 0.000000e+00 1.341001e-01 1.077932e-01 1.679997e-01 1.678742e-17 \n", + "16 0.000000e+00 8.796806e-02 6.263007e-02 1.066675e-01 6.099970e-18 \n", + "17 1.625784e-18 3.669004e-02 3.410645e-02 4.088447e-02 0.000000e+00 \n", + "18 4.714145e-18 9.901813e-19 3.575762e-19 2.814627e-18 0.000000e+00 \n", + "19 4.077819e-08 7.852001e-08 8.419174e-08 8.013892e-08 4.202357e-08 \n", + "\n", + " WFC \n", + "0 5.184776e-13 \n", + "1 3.247302e-21 \n", + "2 0.000000e+00 \n", + "3 3.120910e-18 \n", + "4 1.227673e-14 \n", + "5 9.457389e-19 \n", + "6 4.279642e-03 \n", + "7 1.965272e-02 \n", + "8 4.530764e-02 \n", + "9 7.185799e-02 \n", + "10 1.458941e-01 \n", + "11 1.103761e-01 \n", + "12 1.306531e-01 \n", + "13 2.017526e-01 \n", + "14 3.264371e-01 \n", + "15 3.996784e-01 \n", + "16 5.410165e-01 \n", + "17 6.876505e-01 \n", + "18 8.354303e-01 \n", + "19 9.999994e-01 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "data": { "image/png": "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\n",