diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a8c213f --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +__pycache__/ +.pytest_cache +.vscode/ +test_save.html diff --git a/PORTOFOLIO ANALYSIS.ipynb b/PORTOFOLIO ANALYSIS.ipynb index 82d5600..b3f69fb 100644 --- a/PORTOFOLIO ANALYSIS.ipynb +++ b/PORTOFOLIO ANALYSIS.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 15, "id": "76af6d01", "metadata": {}, "outputs": [], @@ -33,7 +33,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 22, "id": "403e2576", "metadata": {}, "outputs": [], @@ -73,7 +73,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 17, "id": "ffc2315d", "metadata": {}, "outputs": [], @@ -96,7 +96,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "id": "50848654", "metadata": {}, "outputs": [], @@ -113,7 +113,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 19, "id": "8cb9a833", "metadata": {}, "outputs": [], @@ -129,7 +129,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 20, "id": "b438bbd4", "metadata": { "collapsed": true @@ -137,7 +137,7 @@ "outputs": [ { "data": { - "image/png": "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", + "image/png": "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u3HvvfdixIgRePfdd5XX9Xo91q5di5dffhm33norDhw4gFWrVpkcIyIiAo888gimTJkCT09PvPrqq822FRcXh/nz5yM6OhpBQUHYvn07tm/fjkmTJrW57pudSljyd0Widvj888/x4IMP4vz5893mU6REMmCAU5eprq5GSUkJHn30UQQFBZlc0RGReZxCoS7z6quvIiAgALa2tk2maIjIPF6BExFJilfgRESSYoATEUnK6o+Tvf5m/86g1WpNPvDSE/X0Mejp/Qc4BjdT/728vJpdzytwIiJJMcCJiCTFACcikhQDnIhIUgxwIiJJMcCJiCTFACcikhQDnIhIUgxwIiJJWf2TmETUPdTPn9plbas3f9Zlbd9MeAVORCQpBjgRkaQY4EREkmKAExFJigFORCQpBjgRkaQY4EREkmKAExFJigFORCQpBjgRkaQY4EREkmKAExFJigFORCQpBjgRkaQY4EREkmKAExFJigFORCQpBjgRkaTM/km10tJSJCUloby8HCqVCnq9HpMnT0ZycjK++uoruLi4AABmzJiBUaNGdXrBRER0ldkAV6vVeOKJJ+Dn54eamhosX74cwcHBAIApU6Zg6tSu+7t6REQ9mdkAd3d3h7u7OwDAwcEB3t7eKCsr6/TCiIjoxtr0V+lLSkpQUFCAgIAAnDlzBvv370daWhr8/Pwwa9YsaDSaJvsYDAYYDAYAQHx8PLRarWUqvwFbW1urtNOd9fQx6On9B8yPQbEVa7kec8AyVEII0ZoNa2trERsbi2nTpmHs2LEoLy9X5r937twJo9GIZ555xuxxfvnll45V3AparRalpaWd3k531tPHoKf3HzA/BvXzu276U735s05v42Y6B7y8vJpd36q7UOrq6pCQkIDx48dj7NixAAA3NzfY2NjAxsYGkyZNQl5enuWqJSIis8wGuBACb731Fry9vXHfffcp641Go/L1d999hwEDBnROhURE1Cyzc+DZ2dlIS0uDj48Pnn/+eQBXbxk8cuQICgsLoVKp4OnpiaioqE4vloiI/sdsgA8dOhTJyclN1vOebyKirsVPYhIRSapNtxESkeV11t0gXXmbIFkHr8CJiCTFACcikhQDnIhIUgxwIiJJMcCJiCTFACcikhQDnIhIUgxwIiJJMcCJiCTFACcikhQDnIhIUgxwIiJJMcCJiCTFACcikhQDnIhI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", "text/plain": [ "
" ] @@ -147,7 +147,7 @@ }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -157,7 +157,7 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAEJCAYAAACNNHw2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAiuUlEQVR4nO3deVxU9f4/8NdhEAcdVgcXVEDAVEwfpLikJi5kpeX1WpYW5pZmloXXSq9fEzNNukbSdXm4lZptem9KVpZGil41r6ghBYYL4JIIIoigkizv3x/+nOvIMsMywEdfz8fDx4M5c+ac1zmceXn4zJkZTUQERESkHLu6DkBERFXDAiciUhQLnIhIUSxwIiJFscCJiBTFAiciUhQLvJ6KjY2Fpmk4d+5cXUcpl4+PD+bPn2/1/GlpadA0DXv37jVN0zQNn376qS3i3dXmzp0Lf3//cm/XpDuPRVsfm+vWrYO9vb1Nln23YYFTrWndujXS09PRo0ePuo4CAJg/fz58fHzqOkaNeP3113HgwAGr5/f398fcuXOtmrdXr15IT0+Hp6dnFdOV7dy5c9A0DbGxsWbTn3nmGfzxxx81uq67Ff+bq2M3btyAg4NDXceoFTqdDs2bN7f5eupin9b179FgMMBgMNT4cgsLC+Hg4FArv7dbHB0d4ejoWGvrUxnPwCtp2bJlCAgIQMOGDdG0aVM8+eSTpvs+//xz9OjRAy4uLjAajRgyZAiOHz9uuv/WEMJnn32GwYMHo3HjxnjrrbcAAEuWLEGrVq3QqFEjPPLIIzhz5ozZenNychAaGgovLy84OjqiXbt2iIyMxO1vpB07dixCQkKwatUqeHt7w9nZGUOHDkVGRobZstavX4+AgAA4ODigVatWmD17NoqKiirc7qNHj6JXr15o2LAh2rZti02bNpWa58MPP0RgYCAMBgOaN2+OkSNHIj09vdT23z6EcruxY8di0KBBpaYPGDAAEyZMKDebj48PZs+ejSlTpqBJkyZ46KGHAACHDx/GoEGDYDAY4OHhgeHDh+P06dMAbv6Z/tZbb+H06dPQNA2appnOSMsaGnrhhRfQr18/0+1+/fphwoQJeOutt9CiRQt4eXmZtm/Tpk14/PHH0ahRI/j6+mLdunVmy1qzZg06dOgAvV4Pd3d39O3bt8LhiIKCArz00ktwcXGBm5sbXnrpJfz5559m89w5hHLu3Dk8+eSTMBqN0Ov18PX1xaJFi0zZT506hbffftu07Wlpaaahke+++w59+vSBXq/HmjVryh0y+eWXX9C9e3fo9Xrcf//92Llzp+m+8h5jb29v2h+tW7cGAPTv3x+appn+GiprCGXbtm3o2rWr6Xk3ZcoUXL161XS/tcf+XUfIanPmzJHGjRvLkiVLJDk5WQ4fPizz58833f/xxx/L1q1b5eTJk3LkyBF54oknxN/fX/78808REUlNTRUA0rJlS/n0008lJSVFUlJSJDo6WnQ6nURGRkpycrKsWbNGmjZtKgDk7NmzIiKSnp4uCxculMOHD0tKSops2LBBGjduLB9//LFp/WPGjBFnZ2cZOXKk/Prrr7J//37x8fGR0NBQ0zzffvut2NnZybvvvivJycny5Zdfiqurq8yePbvc7b527Zp4enrKY489JvHx8bJ//34JCgoSR0dHeeedd0zzRUVFyY8//igpKSmyf/9+efDBB6Vv376m+29t/3/+8x/TNACyYcMGERHZv3+/aJomKSkppvtPnDghmqbJgQMHys3n7e0tTk5OEh4eLsnJyZKYmCiJiYnSuHFjmTNnjhw7dkwSEhLkqaeekrZt28r169fl2rVrMmPGDGnVqpWkp6dLenq65OXlmZZ3+3aJiEyYMEGCg4NNt4ODg8VgMMiLL74oiYmJkpCQYNq+Nm3ayMaNG+XEiRPy97//XXQ6nSQnJ4uIyKFDh0Sn08n69eslLS1NEhISZPXq1abfc1nCwsLEw8NDoqOj5dixYzJ9+nRxcnISPz8/0zzh4eFmt5944gkZOHCg/PLLL5Kamio7d+6Uzz//XERELl26JD4+PjJ9+nTTthcVFcmuXbsEgLRr1062bt0qKSkpcvbsWdP0Wxlv3fb395dvvvlGkpKSZPz48dKoUSM5f/682Tx3bpdOp5O1a9eKiMiRI0cEgHz11VeSnp4umZmZIiKydu1a0el0psccPXpUdDqdhIWFybFjx2Tbtm3SunVrs+PammP/bsQCt1J+fr7o9XpZtGiR1Y+5dOmSAJC9e/eKyP8KbN68eWbz9e7dW5599lmzadOnTy/zCXC7V199VUJCQky3x4wZIx4eHlJQUGCaFhERIc2bNzfd7tOnj4wYMcJsOVFRUaLX603/0dxp9erV0rhxY8nOzjZN+/XXXwVAqaK73a0n6Llz50TEcoGLiHTq1En+7//+z3R75syZ0rlz53LXIXKzcAcMGGA2bcyYMfLMM8+YTSsoKBBHR0fZsmWLiIi888474u3tXebyrCnwtm3bSnFxsWnare2LjIw0TSsqKhKDwSArVqwQEZHNmzeLs7Oz5ObmVrhNt+Tn50vDhg1l1apVZtO7du1aYYF37txZwsPDy12un59fqftvle4nn3xS5vQ7C3zNmjWmeQoLC8XLy8t0ImBNgZ89e1YAyK5du8zmubPAQ0NDpVu3bmbzREdHi6ZpkpaWJiLWHft3Iw6hWCkxMREFBQVl/ol/S3x8PP7617+iTZs2cHJygpeXFwCY/my/pXv37ma3k5KS0KtXL7Npffr0MbtdUlKCiIgIBAYGwmg0wmAwYMWKFaWW3b59ezRs2NB029PT0+zPyMTERPTt29fsMcHBwSgoKMCpU6fK3K6kpCR06NABbm5upmn3338/XFxczOaLjY3FI488gtatW8PJycm0DXdmrMiLL76ItWvXori4GEVFRVi3bh0mTpxo8XF37tO4uDhs2bLFNDZsMBjQpEkTFBQU4MSJE1bnqUjXrl1hZ1f6KRQYGGj6WafToWnTpqbfwcMPPwxfX1+0adMGI0eOxKpVq5CVlVXuOk6dOoU///zT4vFxp7CwMLz77rvo0aMHZsyYgT179li9XXfuy/I8+OCDpp/t7e3RvXt3JCYmWr0ea5V3zIoIkpKSTNMsHft3IxZ4Dbl27RoGDRoETdOwdu1aHDx4EHFxcdA0DTdu3DCbt3HjxpVefmRkJBYuXIhXX30VP/74I+Lj4/HCCy+UWvadL6RpmmY2Tm4rZ86cweDBg+Hj44Mvv/wShw4dwtatWwGgVMaKjB49Grm5ufjuu+/w7bffIjc3F6GhoRYfd+c+LSkpwejRoxEfH2/27/jx43jhhRcqXJadnV2pfVZYWGhxnbeU9TsoKSkBcPPFxkOHDmHLli247777sGLFCvj7++Pw4cMWt7Eyxo0bh9OnT2Py5MlIT0/HY489ZtV+BKp2fN7p1n9st+/H4uJi036whbo69usSC9xKAQEB0Ov12LFjR5n3Hzt2DBcvXsSCBQvQr18/dOjQATk5OVYdQAEBAdi/f7/ZtH379pnd3rNnDx599FGMHz8eDzzwAPz9/at0JtmxY8dSZ2O7d++Go6Mj/Pz8ys137NgxXL582TQtMTERubm5pttxcXG4fv06oqKi0Lt3b7Rr165KZz/Ozs4YOXIkVq9ejdWrV2PEiBFwdXWt9HKCgoKQkJAAPz8/+Pv7m/279ZeEg4MDiouLSz22adOmOH/+vNm0X375pdIZyqPT6dC3b1/MmzcPhw8fRosWLfD555+XOa+fnx8cHBwsHh9ladGiBcaNG4dPPvkEH330ET777DNcuXIFQPnbXhm3X7ZYVFSEgwcPIiAgAMDNfQjAbD/Gx8ebPR9uFa6lHOUds5qmoWPHjtXaBtWxwK1kMBgwffp0zJ07F8uWLcPx48dx9OhRLFy4EADg7e2Nhg0bYsmSJTh16hR++uknvPbaa9A0zeKyp0+fjo0bN+LDDz/EiRMnsHbtWmzYsMFsnnbt2iE2Nha7du3C8ePHMXv2bPz3v/+t9Hb8/e9/x1dffYWIiAgcP34cmzZtwty5czF9+vRyL4N79tln4eTkhNDQUBw9ehQHDhzA+PHjzS71atu2LTRNQ2RkJFJTUxEdHY158+ZVOh9wcxjl+++/x/bt2zFp0qQqLWPWrFk4duwYQkNDcfDgQaSmpmLXrl147bXXkJKSAgBo06YNLly4gJ9//hlZWVm4du0aACAkJAQbN27Ejh07kJycjGnTplVqGKgiX3/9NRYvXozDhw/jzJkziI6OxtmzZ03Fd6fGjRtj8uTJmD17NrZu3Yrk5GS8+eabSE5OrnA9r7zyCrZt24ZTp04hMTERmzdvNg1t3dr2ffv24cyZM8jKyqrSmXFERAS2bduGY8eO4aWXXsLFixcxZcoUADevM/f29sbcuXPx+++/Y+/evZg2bZrZ8+HWUOCOHTtw4cIF5OTklLmeN954A0eOHMG0adPw+++/44cffsDUqVPx3HPPmYYp71l1OP6unJKSEomKipL77rtPGjRoIE2bNpWnnnrKdP+//vUv8ff3l4YNG0pgYKDExsaavWhT1ot4t0RFRYmnp6fo9XoZOHCgrFu3zuxFoMuXL8uIESPEyclJ3N3dZcqUKTJ79myzF+HGjBkjAwcONFvuhg0b5M5f87p166R9+/bSoEED8fT0lFmzZklhYWGF237kyBHp2bOnODg4iK+vr3zxxRelXuxbunSptGrVSvR6vfTu3Vu+//57sxeprHkR85bAwEAJCAioMNMtZb3oKCKSkJAgQ4cOFVdXV9Hr9eLn5ycTJ06US5cuiYjIjRs3ZNSoUeLm5iYATC/qXblyRUJDQ8XV1VU8PDwkPDy8zBcxJ0yYYLa+8n6/t79guHv3bunfv78YjUZp2LCh+Pv7y8KFCyvcvmvXrsmkSZPE2dlZnJ2dZeLEiTJz5swKX8ScMmWKtG3bVvR6vbi7u8vgwYPlt99+M90fFxcnDzzwgOj1egEgqamp5b7wWN6LmF9//bV06dJFHBwcpEOHDrJjxw6zxx04cEC6dOkier1eOnfuLHv27DF7PoiIrF+/Xnx8fESn05mO5TtfxBQR+e6770zrMhqNMnnyZMnPzzfdb+2xf7fRRO7yQSJSTmFhIXx8fPDmm2/itddeq+s4RPUW34lJ9UZJSQmysrKwcuVKXL16FePGjavrSET1Gguc6o0zZ86gTZs2aNGiBT7++GM4OzvXdSSieo1DKEREiuJVKEREimKBExEpqtbHwO98g0R9ZDQaK3x7c33EzLanWl6AmWuLrTOX91nsPAMnIlIUC5yISFEscCIiRbHAiYgUxQInIlIUC5yISFEscCIiRbHAiYgUxQInIlIUP42QCEDxxKEW57HV1+PqVm+10ZLpbsczcCIiRbHAiYgUZXEI5caNGwgPD0dRURGKi4vRs2dPPP3008jMzERUVBTy8vLg6+uLqVOnwt6eIzJERLXFYuM2aNAA4eHh0Ov1KCoqwpw5cxAYGIhvv/0WQ4YMQe/evbFq1Srs3LkTgwYNqo3MREQEK4ZQNE2DXq8HABQXF6O4uBiapiExMRE9e/YEAPTr1w9xcXG2TUpERGasGvMoKSnBjBkzcOHCBTzyyCNo1qwZGjVqBJ1OBwBwd3dHdnZ2mY+NiYlBTEwMACAiIgJGo7GGotuOvb29Ejlvx8zVY6srTKxhy31Qn/axtZi5Euu1ZiY7OzssWrQIV69exfvvv1+pL2UICQlBSEiI6bYKH9TOD5SvHSpmtgVb7gMV9zEzl1YjX+jQuHFjdOzYEcePH8e1a9dQXFwMAMjOzoa7u3v1UxIRkdUsFviVK1dw9epVADevSElISEDLli3RsWNHHDhwAAAQGxuLoKAg2yYlIiIzFodQcnJysGzZMpSUlEBE8OCDD6Jr165o1aoVoqKi8OWXX6JNmzYYMGBAbeQlIqL/z2KBe3t74x//+Eep6c2aNcPChQttEoqIiCzjOzGJiBTFAiciUhQLnIhIUSxwIiJFscCJiBTFAiciUhQLnIhIUSxwIiJFscCJiBTFAiciUhQLnIhIUSxwIiJFscCJiBTFAiciUhQLnIhIUSxwIiJFscCJiBTFAiciUhQLnIhIUSxwIiJFscCJiBTFAiciUhQLnIhIUSxwIiJFscCJiBRlb2mGrKwsLFu2DJcvX4amaQgJCcHgwYOxadMm/PTTT3B2dgYAjBo1Cl26dLF5YCIiusliget0OowePRq+vr64fv06Zs6cic6dOwMAhgwZgqFDh9o8JBERlWaxwN3c3ODm5gYAcHR0RMuWLZGdnW3zYEREVDGLBX67zMxMpKamwt/fH7///ju2b9+OPXv2wNfXF88//zwMBkOpx8TExCAmJgYAEBERAaPRWDPJbcje3l6JnLdj5urJqMN123If1Kd9bC1mtp4mImLNjAUFBQgPD8fw4cPRo0cPXL582TT+vXHjRuTk5GDKlCkWl3P+/PnqJa4FRqMRWVlZdR2jUpi5eoon1t1QoG71Vpstuz7tY2sxc2menp5lTrfqKpSioiJERkbioYceQo8ePQAArq6usLOzg52dHQYOHIhTp07VXFoiIrLIYoGLCFasWIGWLVvi8ccfN03Pyckx/Xzw4EG0bt3aNgmJiKhMFsfAk5OTsWfPHnh5eeGNN94AcPOSwX379iEtLQ2apsHDwwOTJk2yeVgiIvofiwXevn17bNq0qdR0XvNNRFS3+E5MIiJFscCJiBTFAiciUhQLnIhIUSxwIiJFscCJiBTFAiciUlSlPsyKyNbq8jNJiFTDM3AiIkWxwImIFMUCJyJSFAuciEhRLHAiIkWxwImIFMUCJyJSFAuciEhRLHAiIkWxwImIFMUCJyJSFAuciEhRLHAiIkWxwImIFMUCJyJSFAuciEhRFr/QISsrC8uWLcPly5ehaRpCQkIwePBg5OfnY/Hixbh48SI8PDwwbdo0GAyG2shMRESwosB1Oh1Gjx4NX19fXL9+HTNnzkTnzp0RGxuLTp06YdiwYYiOjkZ0dDRCQ0NrIzMREcGKIRQ3Nzf4+voCABwdHdGyZUtkZ2cjLi4OwcHBAIDg4GDExcXZNikREZmp1HdiZmZmIjU1Ff7+/sjNzYWbmxsAwNXVFbm5uWU+JiYmBjExMQCAiIgIGI3Gaka2PXt7eyVy3u5uyZxRR1nqki1/b3fLcVHf1VVmqwu8oKAAkZGRGDt2LBo1amR2n6Zp0DStzMeFhIQgJCTEdDsrK6uKUWuP0WhUIuftmFldttwHKu5jZi7N09OzzOlWXYVSVFSEyMhIPPTQQ+jRowcAwMXFBTk5OQCAnJwcODs711BUIiKyhsUCFxGsWLECLVu2xOOPP26aHhQUhN27dwMAdu/ejW7dutkuJRERlWJxCCU5ORl79uyBl5cX3njjDQDAqFGjMGzYMCxevBg7d+40XUZIRES1x2KBt2/fHps2bSrzvjlz5tR4ICIisg7fiUlEpCgWOBGRoljgRESKYoETESmKBU5EpCgWOBGRoljgRESKYoETESmKBU5EpCgWOBGRoljgRESKYoETESmKBU5EpCgWOBGRoljgRESKYoETESmKBU5EpCgWOBGRoljgRESKYoETESmKBU5EpCgWOBGRoljgRESKYoETESnK3tIMy5cvx5EjR+Di4oLIyEgAwKZNm/DTTz/B2dkZADBq1Ch06dLFtkmJiMiMxQLv168fHn30USxbtsxs+pAhQzB06FCbBSMioopZHEIJCAiAwWCojSxERFQJFs/Ay7N9+3bs2bMHvr6+eP7551nyRES1TBMRsTRTZmYm3nvvPdMY+OXLl03j3xs3bkROTg6mTJlS5mNjYmIQExMDAIiIiMCNGzdqKrvN2Nvbo6ioqK5jVMrdkjnjr73qKM29p9mW/XUdoUx3y7FckxwcHMpeb1UW5urqavp54MCBeO+998qdNyQkBCEhIabbWVlZVVllrTIajUrkvB0zU2XV132v4nFh68yenp5lTq/SZYQ5OTmmnw8ePIjWrVtXLRUREVWZxTPwqKgoJCUlIS8vD5MnT8bTTz+NxMREpKWlQdM0eHh4YNKkSbWRlYiIbmOxwMPCwkpNGzBggC2yEBFRJfCdmEREimKBExEpigVORKQoFjgRkaJY4EREimKBExEpigVORKQoFjgRkaJY4EREimKBExEpigVORKQoFjgRkaJY4EREimKBExEpigVORKQoFjgRkaJY4EREimKBExEpigVORKQoFjgRkaJY4EREimKBExEpigVORKQoFjgRkaJY4EREirK3NMPy5ctx5MgRuLi4IDIyEgCQn5+PxYsX4+LFi/Dw8MC0adNgMBhsHpaIiP7H4hl4v379MGvWLLNp0dHR6NSpE/75z3+iU6dOiI6OtlU+IiIqh8UCDwgIKHV2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", + "image/png": "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", "text/plain": [ "
" ] @@ -167,7 +167,7 @@ }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -188,7 +188,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 25, "id": "348dd5d0", "metadata": { "collapsed": true @@ -198,31 +198,22 @@ "name": "stdout", "output_type": "stream", "text": [ - "0.3799288669850971\n" + "the volatility of your portfolio over the last 90 days is: 0.4224507297523766\n", + "the expected returns of your portfolio are: 0.5204592808527991\n" ] - }, - { - "data": { - "text/plain": [ - "0.8148242093567409" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" } ], "source": [ "T = 90\n", "###\n", - "print('the volatility of your portfolio over the last 90 days is: 'get_volt(weights, covM, T))\n", - "print('the expected returns of your portfolio are: 'get_returns(mret, weights, T))" + "print('the volatility of your portfolio over the last 90 days is: ' + str(get_volt(weights, covM, T)))\n", + "print('the expected returns of your portfolio are: ' + str(get_returns(mret, weights, T)))" ] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3.10.5 64-bit", "language": "python", "name": "python3" }, @@ -236,7 +227,12 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.13" + "version": "3.10.5" + }, + "vscode": { + "interpreter": { + "hash": "301da6f0e7e53b7955fa2d3d6c4b0305db26df81f353cd714eada29af4753e7a" + } } }, "nbformat": 4, diff --git a/page.html b/page.html new file mode 100644 index 0000000..18d6879 --- /dev/null +++ b/page.html @@ -0,0 +1,5274 @@ + + + + + + + +Top Crypto Gainers and Losers | CoinGecko + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+
+
+
+
+
+ + + +
+
+coingecko (thumbnail mini) +
+
+Continue in app +
+Track prices in real-time +
+ +
+
+
+
+
+
+
+ + + +
+
+coingecko (thumbnail mini) +
+
+Continue in app +
+Track prices in real-time +
+ +
+
+
+
+
+ + +
+
+
+ +
+ +
+ + +
+ +
+
+ + +
+ + + +
+
+

Top Crypto Gainers and Losers

+
+
+
+ +USD + + +
+ + +
+
+
+

Top Gainers

+* 24h Volume is above USD$50,000 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CoinVolumePrice
+
+
+metaversepay (MVP) +MVP +
+ +
+
+ +$97,156 + + +$0.00000280 + +1673.1% +
+
+
+space crypto (SPG) +SPG +
+ +
+
+ +$234,142 + + +$0.04231660 + +379.6% +
+
+
+netcoin (NET) +NET +
+ +
+
+ +$350,523 + + +$0.00157690 + +264.4% +
+
+
+pumptopia (PTPA) +PTPA +
+ +
+
+ +$61,845 + + +$0.02433867 + +196.4% +
+
+
+luna inu (LINU) +LINU +
+ +
+
+ +$204,595 + + +$0.000000001256 + +184.8% +
+
+
+aura finance (AURA) +AURA +
+ +
+
+ +$1,275,236 + + +$1.88 + +158.8% +
+
+
+dogemetaverse (DOGEMETA) +DOGEMETA +
+ +
+
+ +$790,503 + + +$0.000000000793561 + +140.5% +
+
+
+lever network (LEV) +LEV +
+ +
+
+ +$98,450 + + +$0.01782953 + +124.6% +
+
+
+motiv protocol (MOV) +MOV +
+ +
+
+ +$2,688,205 + + +$0.01371877 + +124.2% +
+
+
+muse dao (MUSE) +MUSE +
+ +
+
+ +$11,779,534 + + +$13.61 + +107.6% +
+
+
+graphen (ELTG) +ELTG +
+ +
+
+ +$94,046 + + +$0.00013673 + +100.9% +
+
+
+meerkat shares (MSHARE) +MSHARE +
+ +
+
+ +$6,819,865 + + +$322.48 + +98.4% +
+
+
+silva (SILVA) +SILVA +
+ +
+
+ +$265,031 + + +$0.000000000888075 + +96.8% +
+
+
+food bank (FOOD) +FOOD +
+ +
+
+ +$427,935 + + +$0.000000000222327 + +88.2% +
+
+
+global gold (GGT) +GGT +
+ +
+
+ +$7,051,004,705 + + +$0.00041718 + +85.3% +
+
+
+octopus protocol (OPS) +OPS +
+ +
+
+ +$171,057 + + +$0.00201466 + +83.4% +
+
+
+muu inu (MINU) +MINU +
+ +
+
+ +$70,045 + + +$0.000000366263 + +73.4% +
+
+
+laeeb (LAEEB) +LAEEB +
+ +
+
+ +$413,497 + + +$0.000000019119 + +73.3% +
+
+
+dfi.money (YFII) +YFII +
+ +
+
+ +$180,010,699 + + +$1,070.52 + +69.0% +
+
+
+swello (SWLO) +SWLO +
+ +
+
+ +$64,996 + + +$0.827385 + +65.4% +
+
+
+stepg (STEPG) +STEPG +
+ +
+
+ +$594,165 + + +$0.00192079 + +64.7% +
+
+
+supe infinity (SUPE) +SUPE +
+ +
+
+ +$580,432 + + +$0.265668 + +60.9% +
+
+
+vr blocks (VRBLOCKS) +VRBLOCKS +
+ +
+
+ +$87,123 + + +$0.096148 + +58.8% +
+
+
+jupiter (JUP) +JUP +
+ +
+
+ +$19,572,811 + + +$0.01756991 + +58.7% +
+ + + +$64,159 + + +$0.000000000289431 + +58.1% +
+
+
+3x long matic token (MATICBULL) +MATICBULL +
+ +
+
+ +$191,400 + + +$0.00036858 + +54.3% +
+
+
+scrap (SCRAP) +SCRAP +
+ +
+
+ +$70,976 + + +$1.18 + +54.1% +
+
+
+islamicoin (ISLAMI) +ISLAMI +
+ +
+
+ +$1,881,497 + + +$0.00169230 + +53.2% +
+ + + +$708,801 + + +$0.00412910 + +53.1% +
+
+
+ndn link (NDN) +NDN +
+ +
+
+ +$81,278 + + +$0.00213158 + +50.4% +
+
+
+
+

Top Losers

+* 24h Volume is above USD$50,000 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CoinVolumePrice
+
+
+movex (MOVX) +MOVX +
+ +
+
+ +$124,835 + + +$0.00001171 + +-69.8% +
+
+
+euphoria (WAGMI) +WAGMI +
+ +
+
+ +$409,612 + + +$0.827443 + +-64.0% +
+
+
+tranquil finance (TRANQ) +TRANQ +
+ +
+
+ +$113,062 + + +$0.01172057 + +-45.2% +
+
+
+goldario (GLD) +GLD +
+ +
+
+ +$105,256 + + +$0.214956 + +-42.1% +
+
+
+aag ventures (AAG) +AAG +
+ +
+
+ +$289,770 + + +$0.00991541 + +-40.9% +
+
+
+moonwell artemis (WELL) +WELL +
+ +
+
+ +$5,532,992 + + +$0.04250236 + +-40.7% +
+
+
+skyrim finance (SKYRIM) +SKYRIM +
+ +
+
+ +$143,631 + + +$0.00591340 + +-40.2% +
+
+
+podo point (POD) +POD +
+ +
+
+ +$73,308 + + +$0.00042845 + +-36.2% +
+ + + +$188,403 + + +$0.01789727 + +-36.0% +
+
+
+ziktalk (ZIK) +ZIK +
+ +
+
+ +$129,150 + + +$0.00334386 + +-34.4% +
+
+
+kitty coin solana (KITTY) +KITTY +
+ +
+
+ +$319,321 + + +$0.00005988 + +-32.9% +
+
+
+fira (FIRA) +FIRA +
+ +
+
+ +$116,540 + + +$0.262271 + +-32.7% +
+
+
+obrok (OBROK) +OBROK +
+ +
+
+ +$832,763 + + +$0.000000037526 + +-32.4% +
+
+
+game on players (GOPX) +GOPX +
+ +
+
+ +$64,731 + + +$0.149353 + +-32.1% +
+
+
+greenzonex (GZX) +GZX +
+ +
+
+ +$100,975 + + +$0.00010687 + +-31.9% +
+
+
+zenc coin (ZENC) +ZENC +
+ +
+
+ +$744,658 + + +$0.00692784 + +-31.2% +
+
+
+math (MATH) +MATH +
+ +
+
+ +$8,977,916 + + +$0.242111 + +-30.7% +
+
+
+dragonsb (SB) +SB +
+ +
+
+ +$111,891 + + +$0.01641603 + +-30.1% +
+ + + +$14,875,467 + + +$0.000000204906 + +-30.0% +
+
+
+shinjiro (SHOX) +SHOX +
+ +
+
+ +$57,181 + + +$0.000000000001546 + +-29.4% +
+
+
+parallel (PAR) +PAR +
+ +
+
+ +$125,755 + + +$1.06 + +-29.1% +
+
+
+vulcano (VULC) +VULC +
+ +
+
+ +$72,877 + + +$0.02010151 + +-27.7% +
+ + + +$475,049 + + +$0.112662 + +-27.4% +
+ + + +$251,105 + + +$1.13 + +-26.8% +
+
+
+unitrade (TRADE) +TRADE +
+ +
+
+ +$74,515 + + +$0.053122 + +-26.5% +
+
+
+golfrochain (GOLF) +GOLF +
+ +
+
+ +$51,511 + + +$0.090821 + +-26.1% +
+
+
+dungeon (DGN) +DGN +
+ +
+
+ +$53,988 + + +$0.00000314 + +-24.7% +
+
+
+xjewel (XJEWEL) +XJEWEL +
+ +
+
+ +$251,204 + + +$0.271800 + +-23.6% +
+
+
+wjewel (WJEWEL) +WJEWEL +
+ +
+
+ +$2,311,616 + + +$0.152728 + +-23.5% +
+
+
+belrium (BEL) +BEL +
+ +
+
+ +$57,020 + + +$5.74 + +-23.3% +
+
+
+
+
+ +
+
+ + + + + + + +
+ + +
+
+
+
+
+
+
+
+
+ +
+
+ +
+ + + +
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/trending cryptocurrencies webscraper.py b/trending cryptocurrencies webscraper.py index d444775..da979f0 100644 --- a/trending cryptocurrencies webscraper.py +++ b/trending cryptocurrencies webscraper.py @@ -1,68 +1,359 @@ +#!/usr/bin/env python +# ^ GCH usually you put this as the first line of a script in +# in Linux. +# If you have this line and the file is executable, you do not +# need to call explicitly python. +# You just call the script by name and the right python interpreter +# (or also other interpreted languages) is called by +# the command line shell + +# GCH +# There is difference between COMMENTs (lines starting with # like this one) +# and documentation. +# Read: https://realpython.com/documenting-python-code/ +# Documentation in python is done using the docstring syntax. +# Look for example here: https://python-sprints.github.io/pandas/guide/pandas_docstring.html +# Docstring is important because it is understood by the python interpreter and by tools +# to display documentation of your code. +# For example, in visual code, if you hoover with the mouse over a call, the docstring is displayed. + +''' +This program loads data about crypto currencies from a web page with specific format +or from a local file and creates a table with data for the top 10 currencies. +Run: + python '.\new trending cryptocurrencies webscraper.py' --help +to get help +or + python '.\new trending cryptocurrencies webscraper.py' --test +to run tests +''' + import requests from bs4 import BeautifulSoup from selenium import webdriver import time import pandas as pd +import argparse + + +def get_data_list(soup, how_many, tag_name, tag_attrs, strip_char=""): + ''' + Function to extract data from an BeautifulSoup document. + + :param BeautifulSoup soup: the input beautiful document + :param int how_many: how many of the filtered items shall be processed + :param string tag_name: the name of the tag to filter using BeautifulSoup.find_all() + :param dictionary tag_attrs: a distionary of 'attribute': 'value' for filtering + :param string strip_char: a string to be filtered out, if needed, from the result + :return: a list with all filtered record.span.string content (stripped if needed) + :rtype: list or strings + + >>> html_snippet = """ + ... [ + ... + ... $439,632 + ... , + ... + ... $473,416 + ... , + ... + ... $92,706 + ... ] + ... """ + >>> soup = BeautifulSoup(html_snippet, 'lxml') + >>> #samp_data = soup.find_all('td', {'class': 'td-liquidity_score lit'}) + >>> get_data_list(soup, 3, 'td', {'class': 'td-liquidity_score lit'}, "$") + ['439,632', '473,416', '92,706'] + + ''' + + out_vec = [] + all_found_records = soup.find_all(tag_name, tag_attrs) + needed_records = all_found_records[0:how_many] + for record in needed_records: + record_soup = BeautifulSoup(str(record), 'lxml') + out_vec.append(record_soup.span.string.replace(strip_char,"")) + + return out_vec + +def load_from_web(url = 'https://www.coingecko.com/en/coins/trending', save_in_file = None): + ''' + load the trending page from the web and parses data into soup format using driver + + If save_in_file is != None it also save the loaded page for reuse or testing + + >>> # as a test, loads the page from the default url and saves it in file + >>> # then counts that there are al least 10 td tags + >>> soup = load_from_web(save_in_file = "test_save.html") + Loading data from web url: https://www.coingecko.com/en/coins/trending + >>> td_tags = soup.find_all('td', {'class': 'td-change24h change24h stat-percent text-center'}) + >>> found_tags = len(td_tags) + >>> found_tags >= 10 + True + >>> # now loads the file + >>> new_soup = load_from_file("test_save.html") + Loading data from file: test_save.html + >>> new_td_tags = soup.find_all('td', {'class': 'td-change24h change24h stat-percent text-center'}) + >>> found_tags == len(new_td_tags) + True + ''' + + print("Loading data from web url: " + url) -def get_data(): - # get the trending page parsed data into soup format using driver - url = 'https://www.coingecko.com/en/coins/trending' option = webdriver.ChromeOptions() option.add_argument('headless') driver = webdriver.Chrome(options=option) driver.get(url) + + if save_in_file != None: + with open(save_in_file, "w", encoding="utf-8") as text_file: + text_file.write(driver.page_source) + soup = BeautifulSoup(driver.page_source, 'lxml') driver.close() - #get the pct change (daily) of the top 10 gainers - aa = soup.find_all('td', {'class': 'td-change24h change24h stat-percent text-center'}) - aa = aa[0:10] - bb = [str(x) for x in aa] - pct = [] - for x in bb: - x = x.split('aed":', 1)[1] - x = x.split(',', 1)[0] - x = round(float(x),3) - pct.append(x) + return soup + +def load_from_file(file_name): + ''' + load the trending page from a file + + The file has been typically save by calling load_from_web() + + >>> # as a test, loads an existing file + >>> # and counts the td tags found there + >>> soup = load_from_file("page.html") + Loading data from file: page.html + >>> td_tags = soup.find_all('td', {'class': 'td-change24h change24h stat-percent text-center'}) + >>> len(td_tags) + 60 + ''' + print("Loading data from file: " + file_name) + + contents = "" + with open(file_name, "r", encoding="utf-8") as text_file: + contents = text_file.read() + + soup = BeautifulSoup(contents, 'lxml') + + return soup + +def load_from_string(contents): + ''' + load the trending page from a string + + The string has been created in some way, by loading from a source os as a text string. + This is very useful for small and quick regression tests, in particula doctest. + + :param str contents: the input html.... describe the format + :return: the parsed data + :rtype: BeautifulSoup + + + >>> html_snippet = """ + ... + ... + ... $439,632 + ... + ... """ + >>> soup = load_from_string(html_snippet) + Loading data from string + >>> print(soup) + + + $439,632 + + + + ''' + print("Loading data from string") + + soup = BeautifulSoup(contents, 'lxml') + + return soup + +def set_args(parser): + ''' + Defines specific application command line parameters. + It is called by the startup utility runOrTest(). + In our case it adds exclusive command line options to load data from a + file or from the web. + + :param ArgumentParser parser: the ArgumentParser to be estended + + ''' + group = parser.add_mutually_exclusive_group() + group.add_argument("--file", type=str, const=None, help="Load data from a local file") + group.add_argument("--url", type=str, const=None, help="Load data from web at the given url") + +def get_data(args): # argv unused now, but required. To be cleaned up + ''' + Get the trending page parsed data into soup format using driver + + This is the actual program. + It can load data from a file or from the web. + Loading from a file is essential to be able to test with a know set of data, + so that it is possible to reproduce tests. + + :param list args: arguments parsed by ArgumentParser + + ''' + + # GCH + # I have split access to internet to read the page + # (in general all data collection for a more complex application) + # from the data manipulation . + # This makes it easier to write tests. + # + + # GCH: + # Loads data from a file or from a web url, depending + # on the command line parameters. + if args.file != None: + # If a filename is given, use it + full_soup = load_from_file(args.file) + elif args.url != None: + # If a url is given, use it + full_soup = load_from_web(args.url) + else: + # otherwise it will default to the standard url + full_soup = load_from_web() + + # GCH: made names of variables "speaking". + # It is also bad practice to reuse the same variable for things + # of different type + # You can syntactically do it in Python, but not in other + # strongly typed languages. + # Also, variable name of 1/2 characters are not searchable and therefore difficult + # to debug. # get the names of the top 10 coins - aa = soup.find_all('span', {'class': 'd-lg-none font-bold'}) - n = [str(x) for x in aa] - n = n[0:10] - for x in range(0, len(n)): - n[x] = n[x].replace('', '') - n[x] = n[x].replace('', '') - - #get price - aa = soup.find_all('td', {'class': 'td-price price'}) - aa = aa[0:10] - aa = [str(x) for x in aa] - p = [] - for x in aa: - x = x.split('$', 1)[1] - x = x.split('<', 1)[0] - p.append(x) - - #get volume - aa = soup.find_all('td', {'class': 'td-liquidity_score lit'}) - aa = aa[0:10] - aa = [str(x) for x in aa] - v = [] - for x in aa: - x = x.split('$', 1)[1] - x = x.split('<', 1)[0] - v.append(x) - - #create dataframe to print - dataframe = {'Coin Names': n, 'Daily % Change': pct, 'Price': p, 'Daily Volume': v} + name = get_data_list(full_soup, 10, + 'span', {'class': 'd-lg-none font-bold'} ) + + # get the pct change (daily) of the top 10 gainers + # This is a simpler parsing just taking the value from the span tag + # instead of parsing the jason string. + # It has only 1 decimal (do you really need 3?) + # but can use the same parsing scheme as all other filters. + pct = get_data_list(full_soup, 10, + 'td', {'class': 'td-change24h change24h stat-percent text-center'}, "%" ) + + # get prices + price = get_data_list(full_soup, 10, + 'td', {'class': 'td-price price'}, "$" ) + + # get volumes + vol = get_data_list(full_soup, 10, + 'td', {'class': 'td-liquidity_score lit'}, "$" ) + + # create dataframe to print + dataframe = {'Coin Names': name, 'Daily % Change': pct, 'Price': price, 'Daily Volume': vol} df = pd.DataFrame(dataframe) print(df) + # The end + +############################################################ +# +# These should go in a separate library of utilities +# +########################################################### +import os, sys + +def runOrTest(argv=sys.argv, fname=None, main=None, app_args=None): + """ + Utility function to allow running automatically all doctest and unittest tests in a file. + If the argv list contains the --test argument, the system will try to run the tests. + Otherwise, if not None, it will execute the function passed in the main argument. + This allows to selectively execute or test also executable python scripts. + + Args: + argv: The command line arguments. If contains --test, the tests are executed. + Default are the command line arguments coming from sys.argv. + fname: The name of this same file. Must be ..... + main: A function with the signature main(argv) to be executed if not testing. + The original argv list is passed. + Default is None. + app_args: function setting application specific command line arguments. + + + Examples: + # Just put the following code (uncommented) at the end of your file: + if __name__ == '__main__': + import m1tools.test.testRunner + runOrTest(main=mainForTest) + + ------------- + + >>> runOrTest(argv=[""], main=mainForTest) + Running mainForTest with arguments: Namespace(test=False) + + """ + import argparse + import pytest + + parser = argparse.ArgumentParser() + parser.add_argument("--test", action="store_true", help="Run doctest and unitest tests, if exist") + if app_args != None: + app_args(parser) + args, unknown = parser.parse_known_args(argv) + + if args.test: + # If no filename is given (the default) take the filename of the main + if fname == None: + import __main__ as main + fname = main.__file__ + + # --doctest-tests to ensure we test also for modules/files that contain the 'test' string in the name + # pytestargs = ["", "-v", "--with-doctest", "--doctest-tests", "--with-xunit", "--xunit-file=" + fname + ".xml", fname] + pytestargs = ["-v", "--doctest-modules", fname] + pytest.main(pytestargs) + else: + if main != None: + main(args) + +def mainForTest(args): + """ + Just a simple example of main(), used for test and documentation purposes of runOrTest(). + Prints on stdout the passed arguments, typically command line arguments. + + Args: + argv: arguments passed on the command line + + >>> mainForTest(['AAA', 'BBB']) + Running mainForTest with arguments: ['AAA', 'BBB'] + """ + print ('Running mainForTest with arguments: %s' % str(args)) +#################### +###################################### +# Unit test +# +# This is an example of unittest +# +###################################### +import unittest +class MyTest(unittest.TestCase): + + + def test_true(self): + """ + This test loads the standard data test file + and verifies that it can parse exactly 60 records. + """ + soup = load_from_file("page.html") + td_tags = soup.find_all('td', {'class': 'td-change24h change24h stat-percent text-center'}) + self.assertEqual(len(td_tags),60) + +# End pytest test() # +##################### if __name__ == "__main__": - get_data() + runOrTest(main=get_data, app_args = set_args) + +# __oOo__ \ No newline at end of file