Files
tunmnlu/task_2/others-answer/omsa-main/ISYE-6669-OAN/hw1/hw1.ipynb
louiscklaw 9035c1312b update,
2025-02-01 02:09:32 +08:00

278 lines
79 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x26b3b502a88>"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAArIAAAGcCAYAAAAlN0NbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAxOAAAMTgF/d4wjAAA33klEQVR4nO3deZzN9eLH8fdnNmMYM3Yj+5LKGMMg1ESIlMpWyDrd0CaVpJUWV5IkLYyl3LRHEmmXSiIz9iVbMZbJln2ZOXPm8/vjqJ/bDYOZ+Z7vmdfz8ZjHQzNnznnfOxev++17vl9jrRUAAADgNkFODwAAAADOByELAAAAVyJkAQAA4EqELAAAAFyJkAUAAIArEbIAAABwpRCnBwAAAOSl1NRUI6mwJOP0FuRYdkJCwvGzPcgEwnVkCxUqZEuXLu30DAC5bNeuXZKksmXLOrwEbnbUc1QHThyQJBUrVEyRYZHODsJfduzYkWmtLZRXz5+amhoRFBQ0KCgoqLuk8Lx6HeQJa639zev19klISEg73YMC4ohs6dKltX37dqdnAMhltWvXliStWbPG4SVwowMnDqjf7H76cO2HqhRVSe92eldNKzZ1ehZOYYzZk5fPHxwc/E5kZGR8TEzMkbCwsD+M4YCsW1hrze7du6vu3r17qqQWp3tcQIQsAACn+mnbT+o2o5u2HtyqTpd20qQbJql44eJOz0I+Sk1NDQ8JCalbqVKl/aGhoV6n9+DclSlT5sCePXuqpqamFj7daQa82QsAEDC82V6N+GGEEt9I1K6ju5TcLlkf3vwhEVswBUsyQUFB7j+HsoAyxlj5zms+ba9yRBYAEBDSD6er58ye+ua3b1S7dG291/k9xZaJdXoWgDxEyAIAXO+zjZ+p98e9tefYHvVP6K8xbcYoIjTC6VkA8hinFgAAXCvTm6lBXwzSde9cJ0+2R9Nvnq4J7SYQsUA+e+mll0oaYxKmTZsWnZ+vS8gCAFxp0x+b1HRKU41ZNEZNKzbV8v7L1emyTk7PAvJFo0aNaq1fvz4sP14rKytLX331VZGDBw/+YzeuX78+bOrUqaXr1q17ND/2nIqQBQC4zlsr31K95Hpamr5UjyU+pu/6fKfK0ZWdngXkSJcuXSrfddddF0nSxo0bw6pVq1b7008/LVq7du1LIyIi6l3o8+/YsSMkIiKinsfj+etz7dq1qzZmzJhSu3btCs7J62zZsiX0pZdeKnnddddVK1++fNyTTz5Z/sSJE/9z/TKv16ukpKQq48aNSwsLC8v3N9ZxjiwAwDWOZB7R3XPv1psr3lRM0RjN6jpLLaqe9hKTwH9r0aKG0tLy5gYMlSplaN68TTl56KhRo3bWq1fvsu7du/+RlJRUdfTo0dtatWp1dN68eRs6dOhQ/UKnXHTRRVlly5bNXLRoUURiYuKx6dOnF0tPTw+977779no8HnOm13n00UfLzZgxo8Tx48eDmjdvfqhXr1773n///S2RkZHZ//T4p556quzll19+JDEx8diF7j4fhCwAwBWWpi9V1+ldtfGPjbq+5vV646Y3VLoId3WE+1SuXNnTq1evPS1btrw0OTn5144dOx6SpLJly57xercdOnSosm7dughJSktLK3TdddfVDA0NtZI0a9asTbVq1cr887GNGzc+8t133xWNj48/8eCDD1aaPn36pqCgIBUqVMie6XWOHTsWdOzYsaBixYp5o6KivNHR0d7w8PB/jNglS5aEf/LJJ8UXL168/nz+e8gNhCwAwK9Za/XS4pf00FcPSZJebPOiBl4+UNylCecsh0dM81p6enrI559/Hl2kSBFv1apVM8/+HT4zZ87c8uevGzVqVGvatGm/nRqvp0pMTDw8d+7c6O3bt4e1a9duf4MGDU7k5DXGjh27c+zYsTtXrlxZ6JNPPokaMWJETM+ePQvXr1//6Ntvv72lVKlSf0XwvHnzInfs2BFWrVq1WEnau3dv6MCBAyvv3LkzdMiQIXl617Y/EbIAAL+15+geJc1K0qcbP1XNEjX1Xuf3VD+mvtOzgPO2b9++4NatW9ccNGhQekZGRtCgQYMqLlmyJNePaLZq1erIww8/XKlkyZKeVatWrT3X74+Li8uIi4vb/fjjj+8+duyY+eyzzyKDg4P/6xzYIUOG7Dk1WBs1alRrwIABu3r27HkgF/4j5AghCwDwS9/+9q26f9Rd6UfS1atuL73S9hVFFop0ehZw3g4fPhzUunXrGklJSXv69u273+v16tVXXy07bdq06NyOvxo1amRaazV69OhtRYsWzfGbsBISEmpt3bo1/J++tmjRorXFixf/x9MMnELIAgD8SlZ2lp6c/6RG/DBCRcKKaFqHaeoR18PpWcAFi4yMzE5NTf3r6GtwcLDWrVv319HSpk2bXrx27dqIpk2bXvzSSy+lNWzY8LSnA/z8889nPIo7cuTI0i1btjzYqVOnQ3//2ple59R95+psm/ICIQsA8BtbD2zVrR/dqoXbFiohJkHvdnpXNUvWdHoWkC8WLly44UKfY9myZeGdO3euXq5cuczZs2dvzqvX8ReELADAL8xYO0O3z75dB04c0AONH9CzrZ5VWHC+XO8dCBj16tU7sXnz5jVO78gvhCwAwFHHPcd1/xf3Kzk1WaUiSunTWz/VdTWvc3oWABcgZAEAjlmze426TO+iNXvWqEXVFprWYZrKR5Z3ehYAl+AWtQCAfGetVXJKshpMaqBf9v6iES1G6MseXxKxAM4JR2QBAPnqwIkD6ju7r6avna7KUZX1Tqd31LRiU6dnAXAhQhYAkG8WbluoW2fcqq0Ht6rzZZ016YZJig6PdnoWAJfi1AIAQJ7zZns14ocRuuqNq7Tr6C4lt0vWB50/IGIBXBCOyAIA8tTOwzvVc2ZPzfttnmLLxOq9Tu+pdpnaTs8CEAAIWQBAnpm7ca56f9xbe4/t1R0Jd2hMmzEqHFrY6VkAAgQhCwDIdRlZGXrkm0f04qIXFR0erek3T1enyzo5PQtAgCFkAQC5auO+jeo6o6uWpi/VFRWv0Nsd31bl6MpOzwLgB44dO2ZuvPHGaps2bSpcqFCh7JIlS3omTpyYFhsbm3E+z8ebvQAAuWbaimmqP7G+lqUv0+OJj2t+n/lELOAin3/+edGDBw/maR/27dt376+//rp6/fr1a9u1a3fgtttuq3K+z0XIAgAu2OGMw+o1s5d6fdxLxQoV0ze9vtEzLZ5RSBD/4g/4uy5dulS+6667LpKkjRs3hlWrVq32p59+WrR27dqXRkRE1LvQ59+xY0dIREREPY/H89fn2rVrV23MmDGldu3aFXym1/nggw+K16xZM7Zx48YXP/HEE2V//vnnXD2pPSIiwnbp0uVgUJAvQa+88sqjO3bsCDvf5+NPGADABUndmapuM7pp4x8b1e7idnrjpjdUKqKU07OA/9HiPy1qpB1MK5QXz10pqlLGvN7zNuXksaNGjdpZr169y7p37/5HUlJS1dGjR29r1arV0Xnz5m3o0KFD9QvdctFFF2WVLVs2c9GiRRGJiYnHpk+fXiw9PT30vvvu2+vxeMyZXuf111/f5vV6t3333XdF5syZE3X77bdX3rNnT2hiYuKhCRMmbCtRokT2he471ZgxY8q2bt36wPl+PyELADgv1lqNXTRWQ74eImOMxrYZq3svv1fGGKenAX6tcuXKnl69eu1p2bLlpcnJyb927NjxkCSVLVvWe6bvi4+Pv2Tr1q3/GOJLlixZW6NGjb8OwTZu3PjId999VzQ+Pv7Egw8+WGn69OmbgoKCVKhQIXu21wkODlZ0dLQ3Kioqq1ixYt7ff/897MiRI8HZ2dmn/c19Ltv+9PDDD5fbsmVLoWnTpm09054zIWQBAOdsz9E96jOrj+ZunKuaJWrqvc7vqX5MfadnAWeU0yOmeS09PT3k888/jy5SpIi3atWqmTn9vuXLl/+S08cmJiYenjt3bvT27dvD2rVrt79BgwYncvJ9AwYMuGjmzJkloqOjs1q1anVw2LBhO6+++uqjISFnTsZz2SZJQ4cOLTtnzpzi8+fP3xAZGXneR3n9MmSNMUmSXpfUwVr7scNzAACnmPfbPPX4qIfSj6Srd93eeuW6V1Q0rKjTswBX2LdvX3Dr1q1rDho0KD0jIyNo0KBBFZcsWbI+t1+nVatWRx5++OFKJUuW9KxatWptTr+vWbNmhx999NFdMTExWbm96U9PPvlk2RkzZpSYP3/+hlKlSp3x6PDZ+F3IGmOqSOoraZHDUwAAp8jKztKwb4fp2QXPqkhYEU3rME094no4PQtwjcOHDwe1bt26RlJS0p6+ffvu93q9evXVV8tOmzYtumfPngdy87Vq1KiRaa3V6NGjtxUtWtTm9PueffbZmK1bt4b/09cWLVr0j6cInIvNmzeHPvXUUxUqVKiQkZiYWEuSwsLCsleuXHlOR3T/5Fcha4wJkjRZ0gBJLzg8B4DDLsrM1I6w834zK3LR1gNbdetHt2rhtoVKiEnQe53fU40SNZyeBbhKZGRkdmpq6l9HX4ODg7Vu3bq/jpY2bdr04rVr10Y0bdr04pdeeimtYcOGOTod4J+MHDmydMuWLQ926tTp0N+/dqbXOXVfXqhevbrHWpuaW8/nVyEr6QFJP1prU3mzAFDAffaZ5m7apORSpaSsLOks52ch78xYO0O3z75dB04c0KAmgzSi5QiFBfN/MIDctnDhwg0X+hzLli0L79y5c/Vy5cplzp49e3NevY6/8Ju/GYwxsZI6SboqB499QL7olSRFRUXl4TIAjqhWTRvDw3X33r1SixbS229LFSs6vapAOe45rvu/uF/JqckqHVFac2+dq7Y12zo9C8AZ1KtX78TmzZvXOL0jv/jTDRESJVWRtNEYs0VSY0kTjTF3/v2B1tox1toKf34ULcqbDICAU6uWulWpomklSkg//CDVrSvNmuX0qgJj9e7VajipoZJTk9WyakutuGMFEQvA7/hNyFprx1trY6y1Vay1VeR7s1c/a+14h6cBcIgnKEgjy5WTPvlECgqS2reX7rlHOnHep43hLKy1Sk5JVsNJDfXL3l80osUIfdnzS8VExjg9DQD+h9+ELACc1g03SCtWSM2aSa++Kl1+ubRundOrAs7+4/t184c3645P71DZImX1Q9IPeiTxEQUZ/qoA4J/89k8na21zriEL4C8XXSR984309NPS6tVSgwbSlCmSzfFVZXAGC7ctVHxyvGasm6GbL7tZy+9YriYVmzg9C7gQXkn2THejgn+z1hpJVtJpb5jgN2/2AoCzCg6WnnhCuvpq6dZbpdtvl776SkpOlnjT53nxZns1csFIDZs/TGHBYZrYbqJur387t5mF6yUkJJxYvnz5irS0tPiYmJgjYWFhmfzv2j2stWb37t3R1trfEhISjp/ucYQsAPe58kpp+XJfyL7/vvTzz9K77/pOOUCO7Ty8Uz0+6qFvt3yr2DKxer/z+7qs9GVOzwJyjdfrvfXQoUODjhw50l0S7wx3F2ut/c3r9fY504OMDYB/LVehQgW7fft2p2cAyGW1a9eWJK1Zc5oryVgrTZgg3X+/5PVKw4dLgwf73hiGM/p0w6fqM6uP9h7bqzsb3KkXWr+gwqGFnZ6FAsYYs8NaWyGvXyc1NdVIKiyJQ7LukX2mI7F/ImQB+K2zhuyfVq2SunTxvQHsmmukN9+UypXLh4Xuk5GVoYe/flhjF49VdHi0ptw4RR0v7ej0LBRQ+RWyCFwctgDgfnXqSCkpUt++vnNm69aVvvjC6VV+Z8O+DWr6elONXTxWV1S8QivuWEHEAnA1QhZAYIiIkCZO9J0zm5EhXXut7zSDzEynl/mFN1e8qfrJ9bUsfZmeuOoJze8zX5WiKjk9CwAuCCELILDccovvjWCNG0ujR/veGLb5H283XiAczjisnjN7qvfHvRUVHqV5vefp6aufVkgQ7/UF4H6ELIDAU6WK9P330iOP+E45qFdPeucdp1flu9Sdqao/sb7eWvmW2l3cTivuWKHmVZo7PQsAcg0hCyAwhYZKI0ZIX34pFSkide8uJSVJR444vSzPZdtsjflpjJpMaaK0g2l66dqX9EnXT1QqopTT0wAgVxGyAAJbq1a+29u2bStNneq7I9jy5U6vyjN7ju7RDe/eoEFfDlLV4lW16F+LdO/l93KDAwABiZAFEPjKlJHmzPGdM/vrr74bJ4wbF3C3t5332zzVnVBXczfOVZ/4Pkrtl6p6MfWcngUAeYaQBVAwBAVJgwZJCxdKFStKAwdKN90k7d3r9LIL5vF69Ng3j6nVm610JPOI3urwlt646Q0VDeNGRgACGyELoGBp0EBautR3zuzs2VJ8vPTdd06vOm9bDmxRs6nNNGLBCCWUT9Cy/svUPa6707MAIF8QsgAKnmLFpGnTfOfMHjggtWghDRsmZWU5veycTF87XfET4vXT9p80qMkg/Xjbj6peorrTswAg3xCyAAomY6TevX1HZ+vWlZ5+Wrr6amnbNqeXndUxzzH1n91fN394s8KCwzT31rka3Xq0woLDnJ4GAPmKkAVQsF18sfTTT75zZhcs8EXtzJlOrzqt1btXq9GkRpq4dKJaVWulFXesUNuabZ2eBQCOIGQBoFAhaexY3zmzQUFSx47S3XdLx487vewv1lpNSJmghpMaav2+9RrZcqS+6PGFYiJjnJ4GAI4hZAHgT+3a+a4527y59Nprvst0rVvn9CrtP75fN394s+789E6VK1pOPyT9oCFXDlGQ4Y9wAAUbfwoCwKkuukj6+mvpmWekNWukhARp8mTHrjn7Y9qPik+O14x1M3RL7Vu0rP8yNa7Q2JEtAOBvCFkA+LvgYOnxx6Xvv5dKl5b69pW6dpUOHsy3Cd5sr4Z/P1zNpjbTnqN7NOmGSXqv03uKDo/Otw0A4O8IWQA4nSuu8N3OtmNH6YMPfNecXbQoz1925+GdumbaNXri2yd0WenLlNIvRbfXv53bzALA3xCyAHAmxYtL06dL48dLv/8uJSZKI0dK2dl58nJzNsxR3Pg4fbvlW93V4C4tvn2xLit9WZ68FgC4HSELAGdjjHTHHdKSJb7LdT3yiNSmjS9sc0lGVobu+/w+3fDuDcq22frolo/06vWvqnBo4Vx7DQAINIQsAORUbKwvZvv1870hLC5O+vzzC37aDfs2qMmUJnpp8Uu6stKVWn7HcnW4tEMuDAaAwEbIAsC5iIiQkpN958xmZkpt20qDB/t+fR7eXPGm6ifX14pdKzT0qqH6tve3qhRVKZdHA0BgImQB4HzcfLPvjWBNmkijR/veGLZpU46//XDGYfWc2VO9P+6t6PBozes1T09d/ZRCgkLybjMABBhCFgDOV5Uq0nff+c6ZTU2V6teX3n77rN+WujNV9SfW11sr39INF9+g5XcsV7MqzfJ+LwAEGEIWAC5EaKg0YoT01VdSkSJSjx5Snz7SkSP/89Bsm60xP41RkylNlHYwTeOuHadZXWepVESp/N8NAAGAkAWA3NCype/2tm3bSv/5j++OYMuX//Xl3Ud3q9077TToy0GqVryaFt++WAMuH8C1YQHgAhCyAJBbypSR5syRXnhB+u036fLLpXHj9M3mr1V3Ql19tukzJcUnKaVfiuLLxTu9FgBcj3cVAEBuCgqSHnhAatZMnm5dNOyTgRr5h1Q0rKje6fiOutXp5vRCAAgYhCwA5IEt1Uuq24MltCh9sxrskN6aX0gXNynn9CwACCicWgAAuezDNR8qfkK8FqUvUfvS7fVy4btVPe2I1LKlsh59VMrKcnoiAAQEQhYAcskxzzH1m91Pt0y/RUHZQXqs8mO6q+ZdOtGhs5YkJ+tglSoKefZZea68UkpLc3ouALgeIQsAuWDVrlVqOKmhJi2dpPjIeI2uMVotK7dUaGioJCmjcmWtmDBBv954o0IXL5Y3Lk7ZM2Y4vBoA3I2QBYALYK3V+CXj1WhyI23Yu0Hdy3bX8EuGq1qZav9zaS0bFqa0++/XsqefVpa1CurcWZ5+/aTjxx1aDwDuRsgCwHnaf3y/On/YWXfNvUvRwdF6uurTSqqZpCIRRc74fQcTE5UyebL2xMYqdNIkeRISZNesyafVABA4CFkAOA8L0hao7oS6+mjdR7oy+kq9cPELalyhsYKDg3P0/Z7SpbVm7Fht6NVLwevXyzZoIO+ECZK1ebwcAAIHIQsA58Cb7dXw74er2dRm2n1kt+4sf6ceq/WYypcof+536QoO1s6kJC0dM0bHixZV8J13ytOxo3TgQJ5sB4BAQ8gCQA7tOLRDraa10hPfPqHKhStrVPVR6ly9s8LDwy/oeY/UraulU6ZoZ5MmCv34Y2XVqSP700+5tBoAAhchCwA5MGfDHNWdUFfzt8xX25JtNbrWaNWJqaOgoNz5Y9RbrJg2/PvfWjNggMzu3VJiorL+/W8pOztXnh8AAhEhCwBnkJGVofs+v083vHuDMj2ZGlxxsO6vdb9KFCtx7qcSnI0x2tOxo1Jee02HY2IU8vjj8lx9tZSenruvAwABgpAFgNPYsG+DmkxpopcWv6TaRWvrhRovqG3Vtn9dGzavHK9eXcsmTtTWNm0U+v33yoqNVfann+bpawKAGxGyAPA31lr9Z/l/VD+5vlb8vkK3lLlFz17yrGqWrZn7R2FPt6FwYf328MNa8dhjyj5xQkHt2skzcKCUmZkvrw8AbkDIAsApDmccVs+ZPdVnVh8VNoU1rOow9a3ZV5FFIh3Zs79VK6VOnqx9tWopdNw4eRo1kjZtcmQLAPgbQhYATkrZmaJ6yfX09qq31SiqkcZcPEaJFRMVEhLi6K6MmBitfuUVbbrlFoWsXClv3brKnjbN0U0A4A8IWQAFXrbN1gsLX1DTKU2VdjBN/4r5l56s9aQqlqyYb6cSnI0NCdH2O+/U0pEjlVmokIJ69ZKne3fpyBGnpwGAYwhZAAXa7qO7df071+vBrx5UuULlNKLqCHWr3k2FCxd2eto/OtyokVKnTNHvCQkKfecdeerWlV261OlZAOAIQhZAgfX1r1+r7oS6+nzT52pZoqVG1xythIsScnybWadkFS+uX0aN0rp+/RSclibbuLG8Y8Zwe1sABQ4hC6DA8Xg9euTrR9R6WmsdOn5I91W4Tw/Vekhlipfxm1MJziooSLu6dVPKuHE6VrKkggcNkqdtW2nvXqeXAUC+IWQBFCi/7f9NV029SiN/HKmaRWpqdI3RuqHqDQoLC3N62nk5dumlWjp5srY1b67QL75QVmys7Lx5Ts8CgHxByAIoMD5Y84Hik+O1aPsitS/VXs/Vek6Xlrs0124z65TsIkW0edgwrRo8WDpwQGrVSlmPPCJlZTk9DQDylLv/9AaAHDjmOaZ+s/upy/QuCs4O1mOVH9NdF9+l6Mhop6flqn3XXaclEyfqQNWqChk5Up4rrpDS0pyeBQB5hpAFENBW7VqlBhMbaNLSSYqPjNfoGqPVsnLLPL/NrFMyKlXSyvHj9euNNyr055/lrVNH2dOnOz0LAPIEIQsgIFlrNX7JeDWc1FAb921Uj7I9NPyS4apWppp73tB1nmxYmNLuv1/LnnlGWZKCbr5Znr59pePHnZ4GALmKkAUQcP44/oc6fdBJd829SyVCS+jpqk+rT80+KhJRxOlp+erglVcqZfJk7YmNVejkyfLUry+7erXTswAg1xCyAALKgrQFip8Qr5m/zFRidKJG1xytxhUa+/21YfOKp3RprRk7Vut791bwhg2yDRvKO34815wFEBAIWQABwZvt1TPfPaNmU5tpz9E9urP8nXq01qMqX6J8wJ9KcFbBwUrv00dLX3xRx4sWVfBdd8nTsaPvCgcA4GKELADX23Foh1pNa6Wh84eqcuHKeq7ac+pcvbPCw8OdnuZXjsTFaemUKdrZpIlCP/7Yd83ZhQudngUA542QBeBqs9fPVt0JdTV/y3y1LdlWo2uNVlz5ONdfGzaveIsV04Z//1trBgyQ2bNHuuoqZT3zjOT1Oj0NAM4Zf9IDcKWMrAwN/GygbnzvRnmyPHqo0kO6v9b9KlGshNPT/J8x2tOxo1Jee02HypdXyNCh8rRoIaWnO70MAM4JIQvAddbvXa/GUxpr3M/jFBsZq9HVR+vaKtcG7LVh88rx6tW1PDlZW669VqHff6+s2Fhlf/qp07MAIMcIWQCuYa3V1OVTlTAxQSt/X6kuZbpoRK0Rqlm2Jm/oOk+2cGFtGTJEKx5/XNkZGQpq106egQOlzEynpwHAWRGyAFzhUMYh9ZjZQ0mzklTYFNaTVZ/U7TVvV2SRSKenBYT9LVsqZdIk7atVS6HjxsnTsKG0aZPTswDgjPwmZI0x4caYj40xG4wxK4wxXxljaji9C4DzluxYovrJ9fXOqnd0edTlGnPxGF1Z8UqFhIQ4PS2gZMbEaPWrr2pTly4KWbVK3rp1lf3mm07PAoDTMtZPLoptjAmX1ELSZ9Zaa4y5R1Jna23zs31vhQoV7Pbt2/N6IoB8dlnty7Sv1j79Ue8PBSlIPcv2VKeKnVS4cGGnpwW8yCVLdNmzz6rw/v3ydOum0IkTpaJFnZ6FAGOM2WGtreD0DriX3xyRtdaesNbOtf9f1oskVXFwEgAH7T66W2mJadpdd7diCsVoRNUR6la9GxGbTw43bKjUKVP0e0KCQt99V564ONnUVKdnAcB/8ZuQ/QcDJc36py8YYx4wxmz/8+PIkSP5PA1AXvv61691NOaoiqwvotE1R6v+RfUL7G1mnZJVvLh+ef55revXT8Hbtsk2bizvCy9we1sAfsNvTi04lTHmUUk3SGpprT12tsdzagEQmCo0qSCz3WjatGlOTynwIn75RZc+/bQi09Plad1aoW+9JZUu7fQsuBynFuBC+d0RWWPMg5I6Smqbk4gFELgK7+U0An9x7JJLtGzSJG1r3lyhX37pu73tvHlOzwJQwPlVyBpjHpDUTdI11toDDs8BAJwiu0gRbR42TKsGD5Y9dEhq1UpZDz8sZWU5PQ1AAeU3IWuMqSDpBUnRkr41xiw3xix2dhUA4O/2XXedUpKTdaBqVYU895w8TZtKW7c6PQtAAeQ3IWut3W6tNdba6tba+JMflzu9CwDwvzIqVdLK8eP1a/v2Cl2yRN64OGV/+KHTswAUMH4TsgAAd7FhYUobOFDLhg9XlqSgW26R5/bbpePHnZ4GoIAgZAEAF+TgFVcoZfJk7a5TR6FTpshTr57s6tVOzwJQABCyAIAL5ildWmtffFHre/dW8MaNsg0ayPvaa1xzFkCeImQBALkjOFjpffpo6Ysv6nixYgq++255OnSQDhxwehmAAEXIAgBy1ZG4OC2dMkU7mjZV6KxZvmvO/vij07MABCBCFgCQ67yRkdo4fLjW3HuvzJ49UrNmynrmGcnrdXoagABCyAIA8oYx2tOhg1LGj9eh8uUVMnSoPFdfLe3c6fQyAAGCkAUA5Knj1app+cSJ2nLttQr94Qd5Y2OVPWeO07MABABCFgCQ52x4uLYMGaIVTzwhb2amgm64QVn33itlZDg9DYCLEbIAgHyzv0ULpUyapH21aink5ZfladhQ2rjR6VkAXIqQBQDkq8yYGK1+9VVt7NpVIatXyxsfr+z//MfpWQBciJAFAOQ7GxysHf37a+moUcoMD1dQnz7y3HqrdPiw09MAuAghCwBwzOEGDZQ6ebJ+T0hQ6LvvylO3rmxKitOzALgEIQsAcFRW8eL65fnnta5/fwVt2ybbpIm8o0dze1sAZ0XIAgCcZ4x2de2q1Jdf1tHSpRU8eLA8bdpIe/Y4vQyAHyNkAQB+49gll2jZpEnadvXVCv3qK9/tbb/5xulZAPwUIQsA8CvZRYpo89ChWvXQQ7KHDknXXKOsIUOkrCynpwHwM4QsAMAv7WvbVinJyTpQrZpCRo2Sp2lTaetWp2cB8COELADAb2VUqqSV48fr1/btFbpkibxxccr+8EOnZwHwE4QsAMCv2dBQpQ0cqKXDh8sjKeiWW+T517+k48edngbAYYQsAMAVDl1xhVKnTNHuuDiFvv66PPXqya5a5fQsAA4iZAEAruEpVUprx4zR+t69Fbxxo2zDhvK+9hrXnAUKKEIWAOAuwcFK79NHqWPH6nixYgq++2552reX9u93ehmAfEbIAgBc6WidOlo6ZYp2NG2q0E8+UVadOrI//uj0LAD5iJAFALiWNzJSG4cP15qBA313AWvWTFlPPy15vU5PA5APCFkAgLsZoz3t2ytl/HgduugihQwbJk/z5tLOnU4vA5DHCFkAQEA4Ua2alicna0vbtgpdsEBZsbHKnj3b6VkA8hAhCwAIGDY8XFseekgrhg5Vdmamgm68UVkDBkgZGU5PA5AHCFkAQMDZf/XVSpk0SfsuuUQhr7wiT8OG0oYNTs8CkMsIWQBAQMqMidHqV17Rxq5dFbJ6tbzx8cqeOtXpWQByESELAAhYNjhYO/r319JRo5RZuLCCkpLk6dZNOnzY6WkAcgEhCwAIeIcbNFDqlCn6vUEDhb73njxxcbIpKU7PAnCBCFkAQIGQFR2tX0aN0rr+/RW0fbtskybyPv+8lJ3t9DQA54mQBQAUHMZoV9euSnn5ZR0tXVrBDz0kz7XX+m6mAMB1CFkAQIFz/JJLtGzyZKW1aKHQr75SVmys7DffOD0LwDkiZAEABVJ2RIR+feIJrRwyRPbQIemaa5Q1ZIjk8Tg9DUAOEbIAgALtj2uvVcrEiTpQrZpCRo2S54orpC1bnJ4FIAcIWQBAgZdRsaJWjh+vXzt0UOiSJfLGxSn7/fedngXgLAhZAAAk2dBQpd17r5YOHy6PMQrq2lWe226Tjh1zehqA0yBkAQA4xaErrlDqlCnaHRen0DfekKd+fdlVq5yeBeAfELIAAPyNp1QprX3xRa3v00fBGzfKNmwo76uvStY6PQ3AKQhZAAD+SVCQ0nv3VurYsToeFaXge+6Rp317af9+p5cBOImQBQDgDI7WqaOlkydrR9OmCv3kE2XVqSO7YIHTswCIkAUA4Ky8kZHaOHy41gwc6LsLWPPmynrqKcnrdXoaUKARsgAA5IQx2tO+vVLGj9ehiy5SyJNPytO8ubRjh9PLgAKLkAUA4BycqFZNy5OTteW66xS6YIG8sbHK/uQTp2cBBRIhCwDAObLh4doyeLCWDx0qr8ejoJtuUtY990gZGU5PAwoUQhYAgPN04OqrlTJ5svZdcolCXn1VngYNpA0bnJ4FFBiELAAAFyCzXDmtfuUVbezaVSFr1sgbH6/sqVOdngUUCIQsAAAXyAYHa0f//lr6/PPKLFxYQUlJ8nTtKh0+7PQ0IKARsgAA5JLDCQlKnTJFvzdooND335cnLk42JcXpWUDAImQBAMhFWdHR+mXUKK274w4Fbd8u26SJvM8/L2VnOz0NCDiELAAAuc0Y7erSRSkvv6yjZcoo+KGH5GnTRtq92+llQEAhZAEAyCPHL7lEyyZNUlqLFgr9+mtlxcbKfv2107OAgEHIAgCQh7IjIvTrE09o5ZAhskeOSK1bK+uhhySPx+lpgOsRsgAA5IM/rr1WKRMn6kC1agp5/nl5mjSRtmxxehbgaoQsAAD5JKNCBa0cP16bO3ZUaGqqvHFx8r7/vtOzANciZAEAyEc2NFTbBgzQ0n//Wx5jFNy1qzxJSdKxY05PA1yHkAUAwAGHmjZV6pQp2l23rkKnTpWnXj3ZlSudngW4CiELAIBDPKVKae2YMVqflKTgzZtlGzWS95VXJGudnga4AiELAICTgoKU3quXUl98UcejohQ8YIA8N90k/fGH08sAv0fIAgDgB47WqaOlkydrxxVXKHT2bGXVqSP7ww9OzwL8GiELAICf8EZGauMzz2j1ffdJe/dKzZsr68knJa/X6WmAX8pxyBpjwo0xYX/7XExujjHG1DTGLDTGbDDGLDHG1M7N5wcAwO8Zo7033aSU8eN1qEIFhTz1lDzNmkk7dji9DPA7OQpZY8z9kuZKmmOMGW+MKXzyS2/n8p5kSROttRdLek7S1Fx+fgAAXOFEtWpaMXGitlx3nUJ//FHe2Fhlf/KJ07MAv5LTI7KdrLUtrLWtJX0kabYxpmZuDjHGlJHUQNJbJz81Q1JFY0yN3HwdAADcIrtQIW0ZPFjLhw6VNytLQTfdpKx77pEyMpyeBviFkBw+LtgYE2KtzbLWfmWMWSfpDUkX5+KWipLSrbVZkmSttcaYNEmVJG3KxddBHqpdm7NBkHvS0tKUnZ2t3r17Oz0FcFz5YsU0NjNTl7/6qtZMnqzBFSpoa6FCTs8CHJXTkH1QUilJv0uStXa7MeZ6Sbfm1bAzMcY8IOmBP/85KirKiRkA8oExRsYYp2cAjksPDdWt5cppwIEDGnDokKb/+quGx8RoVlSUxO8RFFDG5uCiy8aYtZIGWGu/OeVzN1prc+1knZOnFmySVMJam2V8f3OlS7rSWnvGI7IVKlSw27dvz60pAPzEn0f416xZ4/ASwM98953UvbvvDWDdu0vjx0uRkU6vOmfGmB3W2gpO74B75fQc2WslvWiMuckYU98YM1/SsNwcYq3dLWmppB4nP9VJ0vazRSwAAAVOs2bS8uXSDTdIb78t1asnpaQ4vQrIdzkKWWttmqRekt6V9KmkyfK9MSu39ZfU3xizQdLDkpLy4DUAAHC/UqWkWbOkceOkbdukpk2lF16QsrOdXgbkm5xefutZSZ9Lel6+82QzbE7OSThH1tr11tom1tqLrbUNrLWrcvs1AAAIGMZIAwZIixdL1apJDz4oXX+9tHu308uAfJHTUwtKSYq31g6TdI2kB40xHC0FAMAfxMf7Ti1ISpI+/1yqW1f6+munVwF5LqenFvS11v55xYK9klqLf+0PAID/KFpUev116Z13pKNHpdatpUcekTwep5cBeSbHt6g9lbX2oKQ2ubwFAABcqG7dpGXLpIQEaeRI6aqrpN9+c3oVkCfOK2QlyVp7PDeHAACAXFK9uvTjj9LgwdKiRb5TDz74wOlVQK4775AFAAB+LCxMGjXKd85seLjUpYvUr5907JjTy4BcQ8gCABDI2rSRVqyQrrlGmjRJatBAWsVFgRAYCFkAAAJduXK+I7PPPSdt3Cg1bOi7G1juX0kTyFeELAAABUFQkPTQQ9KCBVJMjHTXXVKnTtIffzi9DDhvhCwAAAXJ5Zf7bm/bpYs0c6bvjWALFji9CjgvhCwAAAVNVJT07rvS5MnS3r1Ss2bSM89IXq/Ty4BzQsgCAFAQGSP9619SaqoUGysNHSq1aiXt2OH0MiDHCFkAAAqySy+VFi+W7r5bmj/fd3vb2bOdXgXkCCELAEBBFx4uvfKK75zZ7GzpxhulgQOljAynlwFnRMgCAACf9u1915xNTJTGjZMaN5bWr3d6FXBahCwAAPh/FStK8+ZJw4ZJK1dKCQnS1KlccxZ+iZAFAAD/LSREevJJX9BGR0tJSVKPHtKhQ04vA/4LIQsAAP5Zs2a+Uw1uvFF65x2pfn1pyRKnVwF/IWQBAMDplSwpffyx9PLL0rZtUtOm0ujRvjeFAQ4jZAEAwJkZI91zj+8yXdWrS4MHS9dfL+3a5fQyFHCELAAAyJn4eN8NFG67Tfr8c981Z7/6yulVKMAIWQAAkHNFikhTpvjOmT12TGrTRnrkEcnjcXoZCiBCFgAAnLtu3aRly6QGDaSRI33Xnv3tN6dXoYAhZAEAwPmpXl1asMB3zuzixb5TD95/3+lVKEAIWQAAcP7CwqRRo3znzIaHS127Sn37SkePOr0MBQAhCwAALlybNr5rzl5zjTR5su+Ug5UrnV6FAEfIAgCA3FGunO/I7HPPSZs2SY0aSa+9xu1tkWcIWQAAkHuCgqSHHvKdO1u+vHT33VKnTtIffzi9DAGIkAUAALnv8st9VzXo2lWaOdP3RrAffnB6FQIMIQsAAPJGVJTverNTpkj79knNm0tPPy15vU4vQ4AgZAEAQN4xxncnsJQUKTZWGjZMatlS2r7d6WUIAIQsAADIe5de6rvW7D33SN9957u9LXCBCFkAAJA/wsOll1+WPv5YCglxeg0CACELAADy1003cTtb5ApCFgAA5L+ICKcXIAAQsgAAAHAlQhYAAACuRMgCAADAlQhZAAAAuBIhCwAAAFciZAEAAOBKhCwAAABciZAFAACAKxGyAAAAcCVCFgAAAK5EyAIAAMCVCFkAAAC4EiELAAAAVyJkAQAA4EqELAAAAFyJkAUAAIArEbIAAABwJUIWAAAArkTIAgAAwJUIWQAAALgSIQsAAABXImQBAADgSoQsAAAAXImQBQAAgCsRsgAAAHAlQhYAAACuRMgCAADAlQhZAAAAuBIhCwAAAFciZAEAAOBKfhGyxph7jTGrjTGrjDErjTE9nN4EAAAA/xbi9ICT1ki6wlp70BhTUdIyY8xP1trNTg8DAACAf/KLI7LW2m+stQdP/nqbpN8lVXR2FQAAAPyZX4TsqYwxrSQVl7TkDI95wBiz/c+PI0eO5N9AAAAA+IV8CVljzE/GmL2n+ah4yuPqSHpDUhdr7dHTPZ+1doy1tsKfH0WLFs2P/xgAAADwI/lyjqy1tsnZHmOMuUzSHEm3WWsX5P0qAAAAuJlfnFpgjLlU0lxJ/ay1Xzm9BwAAAP7PL0JW0jhJUZKeM8YsP/nRxulRAAAA8F9+cfkta+01Tm8AAACAu/jLEVkAAADgnBCyAAAAcCVCFgAAAK5EyAIAAMCVCFkAAAC4EiELAAAAVyJkAQAA4EqELAAAAFyJkAUAAIArEbIAAABwJUIWAAAArkTIAgAAwJUIWQAAALgSIQsAAABXImQBAADgSoQsAAAAXImQBQAAgCsRsgAAAHAlQhYAAACuRMgCAADAlQhZAAAAuBIhCwAAAFciZAEAAOBKhCwAAABciZAFAACAKxGyAAAAcCVCFgAAAK5EyAIAAMCVCFkAAAC4EiELAAAAVwpxegAAnM6aNWucngAA8GMckQUAAIArEbIAAABwJUIWAAAArkTIAgAAwJUIWQAAALgSIQsAAABXImQBAADgSoQsAAAAXImQBQAAgCsRsgAAAHAlQhYAAACuRMgCAADAlQhZAAAAuBIhCwAAAFciZAEAAOBKhCwAAABciZAFAACAKxGyAAAAcCVCFgAAAK5EyAIAAMCVCFkAAAC4EiELAAAAVyJkAQAA4EqELAAAAFyJkAUAAIArEbIAAABwJUIWAAAArkTIAgAAwJUIWQAAALgSIQsAAABXImQBAADgSoQsAAAAXMmvQtYYU8YYs8sY87HTWwAAAODf/CpkJSVLmuP0CAAAAPg/vwlZY8y/JP0m6QentwAAAMD/+UXIGmOqSrpD0mNObwEAAIA7hOTHixhjfpJU8zRfrifpdUn3WGuPG2Ny8nwPSHrgz3+OiorKjZkAAABwEWOtdXaAMVGSfpV0+OSnikqKkPSTtbZlTp6jQoUKdvv27Xm0EAAA5AVjzA5rbQWnd8C98uWI7JlYaw9KKvnnPxtj+khqb61t79QmAAAA+D+/OEcWAAAAOFd+F7LW2qkcjQUAAMDZ+F3IAgAAADlByAIAAMCVCFkAAAC4EiELAAAAVyJkAQAA4EqELAAAAFyJkAUAAIArEbIAAABwJUIWAAAArkTIAgAAwJUIWQAAALgSIQsAAABXImQBAADgSoQsAAAAXImQBQAAgCsRsgAAAHAlQhYAAACuRMgCAADAlQhZAAAAuBIhCwAAAFciZAEAAOBKhCwAAABciZAFAACAKxGyAAAAcCVCFgAAAK5EyAIAAMCVCFkAAAC4EiELAAAAVyJkAQAA4EqELAAAAFyJkAUAAIArGWut0xsumDEmQ9Iep3dcoKKSjjg9ApL4Wfgbfh7+g5+F/wiUn0Vpa20hp0fAvQIiZAOBMWa7tbaC0zvAz8Lf8PPwH/ws/Ac/C8CHUwsAAADgSoQsAAAAXImQ9R9jnB6Av/Cz8C/8PPwHPwv/wc8CEOfIAgAAwKU4IgsAAABXImQBAADgSoSsHzLGlDHG7DLGfOz0loLKGHOvMWa1MWaVMWalMaaH05sKGmNMTWPMQmPMBmPMEmNMbac3FUTGmHBjzMcnfw4rjDFfGWNqOL2roDPGJBljrDGmvdNbACcRsv4pWdIcp0cUcGskXWGtrSPpekljjTHVHd5U0CRLmmitvVjSc5KmOjunQJsoqZa1tq6kWZImO7ynQDPGVJHUV9Iih6cAjiNk/Ywx5l+SfpP0g9NbCjJr7TfW2oMnf71N0u+SKjq7quAwxpSR1EDSWyc/NUNSRY4E5j9r7Qlr7Vz7/+8MXiSpioOTCjRjTJB8/0digKQMh+cAjiNk/YgxpqqkOyQ95vQW/D9jTCtJxSUtcXpLAVJRUrq1NkuSTkZUmqRKjq6CJA2U76gsnPGApB+ttalODwH8QYjTAwoSY8xPkmqe5sv1JL0u6R5r7XFjTP4NK4DO9rM4eRRWxpg6kt6Q1MVaezS/9gH+yBjzqKQaklo6vaUgMsbESuok6SqntwD+gpDNR9baJqf7mjEmSlKcpPdPRmxRSRHGmG+stfylkcvO9LP4kzHmMvnOVb7NWrsg71fhFNskxRhjQqy1Wcb3m6KSfEdl4QBjzIOSOkpqZa095vSeAipRvtM6Np78e6KcpInGmBhr7XgnhwFO4YYIfsoY00dSe2tte4enFEjGmEslfSapv7X2C6f3FETGmPmSplprpxpjOkt62FrbwOFZBZIx5gFJ3eWL2P1O74HPyd8jY621Hzs8BXAM58gC/2ycpChJzxljlp/8aOP0qAKmv6T+xpgNkh6WlOTwngLJGFNB0guSoiV9e/L3wmJnVwGAD0dkAQAA4EockQUAAIArEbIAAABwJUIWAAAArkTIAgAAwJUIWQAAALgSIQsAAABXImQBAADgSoQsAL9hjJlsjBl58teVjDHrjDHNjDGpxpgjTu8DAPgXbogAwG8YY2IkrZDURtKbkgZJ+lZSpKQPrLWtHJwHAPAzIU4PAIA/WWvTjTETJC2U1N1a++XJL/1hjHFwGQDAH3FqAQC/YYwpJelGSYckpTk8BwDg5zgiC8AvGGOiJM2V9KykQpJekNTM0VEAAL/GEVkAjjPGREiaI2mitfZ9SW9JKmaMae/oMACAX+PNXgD8njHma0n1JC2TdJ+1drXDkwAAfoCQBQAAgCtxagEAAABciZAFAACAKxGyAAAAcCVCFgAAAK5EyAIAAMCVCFkAAAC4EiELAAAAVyJkAQAA4EqELAAAAFyJkAUAAIAr/R92yE0Sby8YqAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"def f(x, y):\n",
" return -(-x**2 + 2*x - y**2 + 4*y - 5)\n",
"\n",
"x = np.linspace(0, 5, 2000)\n",
"y = np.linspace(0, 5, 2000)\n",
"\n",
"X, Y = np.meshgrid(x, y)\n",
"Z = f(X, Y)\n",
"plt.contour(X, Y, Z, 20, cmap='RdGy')\n",
"\n",
"# y >= 0\n",
"y0 = -(-x**2 + 2*x - y**2 + 4*y - 5)\n",
"y1 = (x*0) + 0\n",
"y2 = (y*0) + 0\n",
"y3 = 4 - x\n",
"y4 = 2 + x\n",
"plt.figure(figsize=(8, 6), dpi=80)\n",
"plt.plot(x, y3, color='r', label=r'$x_1 + y_1 \\leq 4$')\n",
"plt.plot(x, y4, color='g', label=r'$x_1 - y_1 \\geq -2$')\n",
"plt.hlines(0,-3,10,color='k')\n",
"plt.vlines(0,-3,10,color='k')\n",
"plt.xlim((-5., 5))\n",
"plt.ylim((-5., 5))\n",
"plt.xlabel(r'$x_1$')\n",
"plt.ylabel(r'$x_2$')\n",
"#plt.grid(True)\n",
"\n",
"# Fill feasible region\n",
"y5 = np.minimum(y3,y4)\n",
"\n",
"plt.fill_between(x, y5, where=(y5>y1) & (y5>y2), color='grey', alpha=0.5)\n",
"plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)\n",
"# plt.fill_between(x, y1, y5,where=y5 >= y1, color='grey', alpha=0.5)\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"----------------------\n",
"MSFT: Exp ret = 0.024611, Risk = 0.058040\n",
"V: Exp ret = 0.018237, Risk = 0.042807\n",
"WMT: Exp ret = 0.009066, Risk = 0.044461\n",
"----------------------\n",
"Optimal portfolio\n",
"----------------------\n",
"x[MSFT] = 0.582818\n",
"x[V] = 0.204324\n",
"x[WMT] = 0.212858\n",
"----------------------\n",
"Exp ret = 0.020000\n",
"risk = 0.038256\n",
"----------------------\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"c:\\users\\mjpearl\\desktop\\omsa\\isye-6669-oan\\env_isye6669\\lib\\site-packages\\cvxpy\\expressions\\expression.py:550: UserWarning: \n",
"This use of ``*`` has resulted in matrix multiplication.\n",
"Using ``*`` for matrix multiplication has been deprecated since CVXPY 1.1.\n",
" Use ``*`` for matrix-scalar and vector-scalar multiplication.\n",
" Use ``@`` for matrix-matrix and matrix-vector multiplication.\n",
" Use ``multiply`` for elementwise multiplication.\n",
"\n",
" warnings.warn(__STAR_MATMUL_WARNING__, UserWarning)\n"
]
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"from cvxpy import *\n",
"\n",
"# read monthly_prices.csv\n",
"mp = pd.read_csv(\"monthly_prices.csv\",index_col=0)\n",
"mr = pd.DataFrame()\n",
"\n",
"# compute monthly returns\n",
"for s in mp.columns:\n",
" date = mp.index[0]\n",
" pr0 = mp[s][date] \n",
" for t in range(1,len(mp.index)):\n",
" date = mp.index[t]\n",
" pr1 = mp[s][date]\n",
" ret = (pr1-pr0)/pr0\n",
" #mr.set_value(date,s,ret)\n",
" mr.at[date,s]=ret\n",
" pr0 = pr1\n",
" \n",
"# get symbol names\n",
"symbols = mr.columns\n",
"\n",
"# convert monthly return data frame to a numpy matrix\n",
"#return_data = mr.as_matrix().T\n",
"return_data = mr.values.T\n",
"\n",
"# compute mean return\n",
"r = np.asarray(np.mean(return_data, axis=1))\n",
"\n",
"# covariance\n",
"C = np.asmatrix(np.cov(return_data))\n",
"\n",
"# print out expected return and std deviation\n",
"print(\"----------------------\")\n",
"for j in range(len(symbols)):\n",
" print('%s: Exp ret = %f, Risk = %f' %(symbols[j],r[j], C[j,j]**0.5))\n",
" \n",
"\n",
"# set up optimization model\n",
"n = len(symbols)\n",
"x = Variable(n)\n",
"req_return = 0.02\n",
"ret = r.T*x\n",
"risk = quad_form(x, C)\n",
"prob = Problem(Minimize(risk), \n",
" [sum(x) == 1, ret >= req_return, x >= 0])\n",
"\n",
"# solve problem and write solution\n",
"try:\n",
" prob.solve()\n",
" print(\"----------------------\")\n",
" print(\"Optimal portfolio\")\n",
" print(\"----------------------\")\n",
" for s in range(len(symbols)):\n",
" #print('x[%s] = %f'%(symbols[s],x.value[s,0]))\n",
" print('x[%s] = %f'%(symbols[s],x.value[s]))\n",
" print(\"----------------------\")\n",
" print('Exp ret = %f' %(ret.value))\n",
" print('risk = %f' %((risk.value)**0.5))\n",
" print(\"----------------------\")\n",
"except:\n",
" print('Error')"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"c:\\users\\mjpearl\\desktop\\omsa\\isye-6669-oan\\env_isye6669\\lib\\site-packages\\ipykernel\\ipkernel.py:287: DeprecationWarning: `should_run_async` will not call `transform_cell` automatically in the future. Please pass the result to `transformed_cell` argument and any exception that happen during thetransform in `preprocessing_exc_tuple` in IPython 7.17 and above.\n",
" and should_run_async(code)\n"
]
},
{
"data": {
"text/plain": [
"Index(['MSFT', 'V', 'WMT'], dtype='object')"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"symbols"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Expression(AFFINE, UNKNOWN, ())"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x[0]"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.5828175485022873"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x.value[0]"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.9"
}
},
"nbformat": 4,
"nbformat_minor": 4
}