Files

322 lines
179 KiB
Plaintext
Raw Permalink Normal View History

2023-08-08 14:24:10 -03:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Libraries Installation"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m23.0.1\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m23.2.1\u001b[0m\n",
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n",
"\n",
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m23.0.1\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m23.2.1\u001b[0m\n",
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n"
]
}
],
"source": [
"!pip install yfinance -q\n",
"!pip install matplotlib -q"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [],
"source": [
"import yfinance as yf\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Selection of portfolio stocks"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [],
"source": [
"stocks = [\"AAPL\", \"MSFT\", \"PETR4.SA\", \"VALE3.SA\"]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Import financial assets data"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[*********************100%***********************] 4 of 4 completed\n"
]
}
],
"source": [
"stocks_data = yf.download(stocks, start=\"2020-01-01\")"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>AAPL</th>\n",
" <th>MSFT</th>\n",
" <th>PETR4.SA</th>\n",
" <th>VALE3.SA</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2020-01-02</th>\n",
" <td>73.347954</td>\n",
" <td>155.422043</td>\n",
" <td>12.180104</td>\n",
" <td>39.578945</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-03</th>\n",
" <td>72.634857</td>\n",
" <td>153.486740</td>\n",
" <td>12.080917</td>\n",
" <td>39.287544</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-06</th>\n",
" <td>73.213608</td>\n",
" <td>153.883499</td>\n",
" <td>12.223745</td>\n",
" <td>39.054432</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-07</th>\n",
" <td>72.869293</td>\n",
" <td>152.480438</td>\n",
" <td>12.176136</td>\n",
" <td>39.338539</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-08</th>\n",
" <td>74.041489</td>\n",
" <td>154.909210</td>\n",
" <td>12.100755</td>\n",
" <td>39.345825</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2023-08-02</th>\n",
" <td>192.580002</td>\n",
" <td>327.500000</td>\n",
" <td>30.530001</td>\n",
" <td>67.089996</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2023-08-03</th>\n",
" <td>191.169998</td>\n",
" <td>326.660004</td>\n",
" <td>30.920000</td>\n",
" <td>67.510002</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2023-08-04</th>\n",
" <td>181.990005</td>\n",
" <td>327.779999</td>\n",
" <td>30.000000</td>\n",
" <td>67.559998</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2023-08-07</th>\n",
" <td>178.850006</td>\n",
" <td>330.109985</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2023-08-08</th>\n",
" <td>179.320007</td>\n",
" <td>324.500000</td>\n",
" <td>30.200001</td>\n",
" <td>67.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>929 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
" AAPL MSFT PETR4.SA VALE3.SA\n",
"Date \n",
"2020-01-02 73.347954 155.422043 12.180104 39.578945\n",
"2020-01-03 72.634857 153.486740 12.080917 39.287544\n",
"2020-01-06 73.213608 153.883499 12.223745 39.054432\n",
"2020-01-07 72.869293 152.480438 12.176136 39.338539\n",
"2020-01-08 74.041489 154.909210 12.100755 39.345825\n",
"... ... ... ... ...\n",
"2023-08-02 192.580002 327.500000 30.530001 67.089996\n",
"2023-08-03 191.169998 326.660004 30.920000 67.510002\n",
"2023-08-04 181.990005 327.779999 30.000000 67.559998\n",
"2023-08-07 178.850006 330.109985 NaN NaN\n",
"2023-08-08 179.320007 324.500000 30.200001 67.000000\n",
"\n",
"[929 rows x 4 columns]"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"stocks_data[\"Adj Close\"]"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAG2CAYAAACZEEfAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAADfvUlEQVR4nOydZXgUVxeA3417QjwhCQQnuBO8WJBSoGgLhRbqQIWWtnylRt29UEdaWopLcS8Q3N0JECfuNt+PWZvsRjYk2ch9n2efmblz587ZheyeOaqSJElCIBAIBAKBoIZiYW4BBAKBQCAQCCoSoewIBAKBQCCo0QhlRyAQCAQCQY1GKDsCgUAgEAhqNELZEQgEAoFAUKMRyo5AIBAIBIIajVB2BAKBQCAQ1GiEsiMQCAQCgaBGI5QdgUAgEAgENRqh7AgEgirLrl27UKlULF++3NyilIlHH30UJycnc4shENR6hLIjEAgUnD59mtGjR1OvXj3s7OyoW7cuAwYM4Ntvv1XM++CDD1i9erV5hCwFkZGRvP3225w4ccLcoggEAjMjlB2BQKBl//79dOzYkZMnT/LEE0/w3Xff8fjjj2NhYcHXX3+tmFsdlJ133nlHKDsCgQArcwsgEAiqDu+//z6urq4cPnwYNzc3xbnY2FjzCFVJZGRk4ODgYG4xTCIrKwsbGxssLMRzq0BQHOIvRCAQaLl69SotWrQwUHQAvL29tfsqlYr09HQWLlyISqVCpVLx6KOPas8fP36cwYMH4+LigpOTE/369ePAgQMGayYlJfHiiy9Sv359bG1tCQgIYNKkScTHxxcpY3Z2Nvfffz+urq7s37/f6Jxdu3bRqVMnAB577DGtjAsWLACgT58+tGzZkqNHj9KrVy8cHBz43//+B8CaNWsYOnQo/v7+2Nra0rBhQ959913y8/MN7nPw4EGGDBlCnTp1cHR0pHXr1gYWsMKcOHECLy8v+vTpQ1paGgB37txhypQp+Pj4YGtrS4sWLfjtt98M3pNKpeLvv/9mzpw51K1bFwcHB1JSUoq9n0AgEJYdgUCgR7169QgPD+fMmTO0bNmyyHmLFy/m8ccfp3Pnzjz55JMANGzYEICzZ8/Ss2dPXFxceOWVV7C2tubHH3+kT58+7N69my5dugCQlpZGz549OX/+PFOmTKF9+/bEx8ezdu1abt++jaenp8F9MzMzGT58OEeOHGHbtm1ahaYwzZs3Z+7cubz55ps8+eST9OzZE4Bu3bpp59y9e5fBgwczfvx4Jk6ciI+PDwALFizAycmJmTNn4uTkxI4dO3jzzTdJSUnh008/1V6/detW7r//fvz8/Hj++efx9fXl/PnzrF+/nueff96oXIcPHyYsLIyOHTuyZs0a7O3tiYmJoWvXrqhUKqZPn46XlxcbN25k6tSppKSk8MILLyjWePfdd7GxseHll18mOzsbGxubIv+dBAKBGkkgEAjUbNmyRbK0tJQsLS2l0NBQ6ZVXXpE2b94s5eTkGMx1dHSUJk+ebDA+YsQIycbGRrp69ap2LDIyUnJ2dpZ69eqlHXvzzTclQFq5cqXBGgUFBZIkSdLOnTslQFq2bJmUmpoq9e7dW/L09JSOHz9e4ns5fPiwBEi///67wbnevXtLgDR//nyDcxkZGQZjTz31lOTg4CBlZWVJkiRJeXl5UnBwsFSvXj0pMTHRqOySJEmTJ0+WHB0dJUmSpL1790ouLi7S0KFDtetIkiRNnTpV8vPzk+Lj4xXrjB8/XnJ1ddXKo/ksGjRoYFRGgUBQNMKNJRAItAwYMIDw8HAeeOABTp48ySeffEJYWBh169Zl7dq1JV6fn5/Pli1bGDFiBA0aNNCO+/n58fDDD7N3716t22XFihW0adOGkSNHGqyjUqkUx8nJyQwcOJALFy6wa9cu2rZte29vFLC1teWxxx4zGLe3t9fup6amEh8fT8+ePcnIyODChQuA7Ka7fv06L7zwgoHLr7DsADt37iQsLIx+/fqxcuVKbG1tAZAkiRUrVjBs2DAkSSI+Pl77CgsLIzk5mWPHjinWmjx5skJGgUBQMkLZEQgECjp16sTKlStJTEzk0KFDzJ49m9TUVEaPHs25c+eKvTYuLo6MjAyaNm1qcK558+YUFBRw69YtQI4PKs5Vps8LL7zA4cOH2bZtGy1atDD9TRmhbt26Rl1AZ8+eZeTIkbi6uuLi4oKXlxcTJ04EZKVLIztQKvmzsrIYOnQo7dq1459//lHcMy4ujqSkJH766Se8vLwUL40iVjgwPDg4uGxvWCCoxYiYHYFAYBQbGxs6depEp06daNKkCY899hjLli3jrbfeqnRZhg8fzt9//81HH33EokWLyiX7yJh1JCkpid69e+Pi4sLcuXNp2LAhdnZ2HDt2jFdffZWCggKT72Nra8uQIUNYs2YNmzZt4v7779ee06w3ceJEJk+ebPT61q1blyi3QCAoHqHsCASCEunYsSMAUVFR2jFj7hovLy8cHBy4ePGiwbkLFy5gYWFBYGAgIAc0nzlzplT3HzFiBAMHDuTRRx/F2dmZefPmlXiNMflKYteuXdy9e5eVK1fSq1cv7fj169cV8zTB2GfOnKF///4lyvHnn38yfPhwxowZw8aNG+nTpw8gf17Ozs7k5+eXuI5AICg7wo0lEAi07Ny5E0mSDMY3bNgAoHBPOTo6kpSUpJhnaWnJwIEDWbNmDTdu3NCOx8TEsGTJEnr06IGLiwsAo0aN4uTJk6xatcrgfsZkmDRpEt988w3z58/n1VdfLfG9ODo6AhjIWByWlpYG98/JyeGHH35QzGvfvj3BwcF89dVXBusbk93GxoaVK1fSqVMnhg0bxqFDh7T3GzVqFCtWrDCq+MXFxZVadoFAUDTCsiMQCLTMmDGDjIwMRo4cSbNmzcjJyWH//v0sXbqU+vXrKwJ6O3TowLZt2/jiiy/w9/cnODiYLl268N5777F161Z69OjBs88+i5WVFT/++CPZ2dl88skn2utnzZrF8uXLGTNmDFOmTKFDhw4kJCSwdu1a5s+fT5s2bQzkmz59OikpKbz++uu4urpqa+MYo2HDhri5uTF//nycnZ1xdHSkS5cuxca8dOvWjTp16jB58mSee+45VCoVixcvNlBgLCwsmDdvHsOGDaNt27Y89thj+Pn5ceHCBc6ePcvmzZsN1ra3t2f9+vX07duXwYMHs3v3blq2bMlHH33Ezp076dKlC0888QQhISEkJCRw7Ngxtm3bRkJCQrH/ZgKBoBSYMRNMIBBUMTZu3ChNmTJFatasmeTk5CTZ2NhIjRo1kmbMmCHFxMQo5l64cEHq1auXZG9vLwGKNPRjx45JYWFhkpOTk+Tg4CDdd9990v79+w3ud/fuXWn69OlS3bp1JRsbGykgIECaPHmyNg1bP/Vcn1deeUUCpO+++67Y97NmzRopJCREsrKyUqSh9+7dW2rRooXRa/bt2yd17dpVsre3l/z9/bXp94C0c+dOxdy9e/dKAwYMkJydnSVHR0epdevW0rfffqs9r596riE+Pl4KCQmRfH19pcuXL0uSJEkxMTHStGnTpMDAQMna2lry9fWV+vXrJ/3000/a64r6LAQCQcmoJMmIzVUgEAgEAoGghiBidgQCgUAgENRohLIjEAgEAoGgRiOUHYFAIBAIBDUaoewIBAKBQCCo0QhlRyAQCAQCQY1G1NlBLtkeGRmJs7NzmaquCgQCgUAgqHwkSSI1NRV/f/9i28gIZQeIjIzUlrAXCAQCgUBQvbh16xYBAQFFnhfKDuDs7AzIH5amlL1AIBAIBIKqTUpKCoGBgdrf8aIQyg66hoEuLi5C2REIBAKBoJpRUgiKCFAWCAQCgUBQoxGWnWKQJIns7Gxzi1Ftsba21naRFggEAoHAXAhlpxgiIyNJSUkxtxjVFpVKRUBAAE5OTuYWRSAQCAS1GKHsFEFeXh4pKSl4eHiIOJ4yIEkScXFx3L59m8aNGwsLj0AgEAjMhlB2iiAvLw+QM7Xs7OzMLE31xMvLixs3bpCbmyuUHYFAIBCYDRGgXAKiyGDZEZ+dQCAQCKoCQtkRCAQCgUBQoxH
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"stocks_data[\"Adj Close\"].plot()\n",
"\n",
"plt.title(\"Stock tracker\")\n",
"plt.xlabel(\"Date\")\n",
"plt.ylabel(\"Adjusted price\")\n",
"plt.legend(fontsize=7);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Price normalization (data scaling)"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [],
"source": [
"normalized_data = stocks_data[\"Adj Close\"] / stocks_data[\"Adj Close\"].iloc[0]"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"normalized_data.plot()\n",
"\n",
"plt.title(\"Stock Tracker (normalized)\")\n",
"plt.xlabel(\"Date\")\n",
"plt.ylabel(\"Ajusted price\")\n",
"plt.legend(fontsize=7);"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "venv",
"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.10.11"
},
"orig_nbformat": 4
},
"nbformat": 4,
"nbformat_minor": 2
}