python-pour-finance/07-Projet-Analyse-Boursière/Projet Analyse Boursière S...

2165 lines
928 KiB
Plaintext
Raw Normal View History

2023-08-21 15:12:19 +00:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Projet d'Analyse Boursière\n",
"\n",
"### Remarque: Vous êtes libre de considérer ceci comme un exercice complet ou simplement de voir la vidéo des solutions comme une revue de code pour le projet. Ce projet est conçu pour être assez stimulant car il introduira quelques nouveaux concepts par le biais de quelques astuces !\n",
"\n",
"Bienvenue à votre premier projet! Ce projet est destiné à couronner la première moitié du cours, qui a principalement porté sur l'apprentissage des bibliothèques que nous utilisons dans ce cours, la deuxième moitié du cours traitera beaucoup plus des techniques financières et des plateformes de trading quantitatif.\n",
"\n",
"Nous analyserons les données sur les actions de quelques compagnies automobiles du 1er janvier 2012 au 1er janvier 2017. Gardez à l'esprit que ce projet est principalement fait pour pratiquer vos compétences avec matplotlib, pandas et numpy. Ne déduisez pas des conseils de trading financier de l'analyse que nous faisons ici !\n",
"\n",
"### Partie 0: Importations\n",
"\n",
"**Importez les différentes bibliothèques dont vous aurez besoin - vous pouvez toujours revenir ici ou importer au fur et à mesure :)**"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"____\n",
"## Partie 1: Obtenir les données\n",
"\n",
"### Action Tesla (Ticker: TSLA sur le NASDAQ)\n",
"\n",
"**Note ! Tout le monde ne travaillera pas sur un ordinateur qui lui donnera un accès complet pour télécharger les informations boursières en utilisant pandas_datareader (pare-feu, permissions d'administration, etc...). Pour cette raison, le fichier csv pour Tesla est fourni dans un dossier data à l'intérieur de ce dossier. Il s'appelle Tesla_Stock.csv. N'hésitez pas à l'utiliser avec read_csv !**\n",
"\n",
"**Utilisez pandas_datareader pour obtenir les informations historiques sur les actions de Tesla du 1er janvier 2012 au 1er janvier 2017.**\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import datetime"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"import pandas_datareader.data as web"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"start = datetime.datetime(2012, 1, 1)\n",
"end = datetime.datetime(2017, 1, 1)\n",
"tesla = web.DataReader(\"TSLA\", 'yahoo', start, end)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"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>High</th>\n",
" <th>Low</th>\n",
" <th>Open</th>\n",
" <th>Close</th>\n",
" <th>Volume</th>\n",
" <th>Adj Close</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2012-01-03</th>\n",
" <td>29.500000</td>\n",
" <td>27.650000</td>\n",
" <td>28.940001</td>\n",
" <td>28.080000</td>\n",
" <td>928100</td>\n",
" <td>28.080000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-04</th>\n",
" <td>28.670000</td>\n",
" <td>27.500000</td>\n",
" <td>28.209999</td>\n",
" <td>27.709999</td>\n",
" <td>630100</td>\n",
" <td>27.709999</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-05</th>\n",
" <td>27.930000</td>\n",
" <td>26.850000</td>\n",
" <td>27.760000</td>\n",
" <td>27.120001</td>\n",
" <td>1005500</td>\n",
" <td>27.120001</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-06</th>\n",
" <td>27.790001</td>\n",
" <td>26.410000</td>\n",
" <td>27.200001</td>\n",
" <td>26.910000</td>\n",
" <td>986300</td>\n",
" <td>26.910000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-09</th>\n",
" <td>27.490000</td>\n",
" <td>26.120001</td>\n",
" <td>27.000000</td>\n",
" <td>27.250000</td>\n",
" <td>897000</td>\n",
" <td>27.250000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" High Low Open Close Volume Adj Close\n",
"Date \n",
"2012-01-03 29.500000 27.650000 28.940001 28.080000 928100 28.080000\n",
"2012-01-04 28.670000 27.500000 28.209999 27.709999 630100 27.709999\n",
"2012-01-05 27.930000 26.850000 27.760000 27.120001 1005500 27.120001\n",
"2012-01-06 27.790001 26.410000 27.200001 26.910000 986300 26.910000\n",
"2012-01-09 27.490000 26.120001 27.000000 27.250000 897000 27.250000"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tesla.head()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Autres entreprises automobiles\n",
"\n",
"**Répétez les mêmes étapes pour extraire les données pour Ford et GM (General Motors)**"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"ford = web.DataReader(\"F\", 'yahoo', start, end)\n",
"gm = web.DataReader(\"GM\",'yahoo',start,end)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"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>High</th>\n",
" <th>Low</th>\n",
" <th>Open</th>\n",
" <th>Close</th>\n",
" <th>Volume</th>\n",
" <th>Adj Close</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2012-01-03</th>\n",
" <td>11.25</td>\n",
" <td>10.99</td>\n",
" <td>11.00</td>\n",
" <td>11.13</td>\n",
" <td>45709900.0</td>\n",
" <td>7.687118</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-04</th>\n",
" <td>11.53</td>\n",
" <td>11.07</td>\n",
" <td>11.15</td>\n",
" <td>11.30</td>\n",
" <td>79725200.0</td>\n",
" <td>7.804530</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-05</th>\n",
" <td>11.63</td>\n",
" <td>11.24</td>\n",
" <td>11.33</td>\n",
" <td>11.59</td>\n",
" <td>67877500.0</td>\n",
" <td>8.004824</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-06</th>\n",
" <td>11.80</td>\n",
" <td>11.52</td>\n",
" <td>11.74</td>\n",
" <td>11.71</td>\n",
" <td>59840700.0</td>\n",
" <td>8.087703</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-09</th>\n",
" <td>11.95</td>\n",
" <td>11.70</td>\n",
" <td>11.83</td>\n",
" <td>11.80</td>\n",
" <td>53981500.0</td>\n",
" <td>8.149862</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" High Low Open Close Volume Adj Close\n",
"Date \n",
"2012-01-03 11.25 10.99 11.00 11.13 45709900.0 7.687118\n",
"2012-01-04 11.53 11.07 11.15 11.30 79725200.0 7.804530\n",
"2012-01-05 11.63 11.24 11.33 11.59 67877500.0 8.004824\n",
"2012-01-06 11.80 11.52 11.74 11.71 59840700.0 8.087703\n",
"2012-01-09 11.95 11.70 11.83 11.80 53981500.0 8.149862"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ford.head()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"ford.to_csv('Ford_Stock.csv')"
]
},
{
"cell_type": "code",
"execution_count": 10,
"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>High</th>\n",
" <th>Low</th>\n",
" <th>Open</th>\n",
" <th>Close</th>\n",
" <th>Volume</th>\n",
" <th>Adj Close</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2012-01-03</th>\n",
" <td>21.180000</td>\n",
" <td>20.750000</td>\n",
" <td>20.830000</td>\n",
" <td>21.049999</td>\n",
" <td>9321300.0</td>\n",
" <td>16.103352</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-04</th>\n",
" <td>21.370001</td>\n",
" <td>20.750000</td>\n",
" <td>21.049999</td>\n",
" <td>21.150000</td>\n",
" <td>7856700.0</td>\n",
" <td>16.179853</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-05</th>\n",
" <td>22.290001</td>\n",
" <td>20.959999</td>\n",
" <td>21.100000</td>\n",
" <td>22.170000</td>\n",
" <td>17880600.0</td>\n",
" <td>16.960161</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-06</th>\n",
" <td>23.030001</td>\n",
" <td>22.240000</td>\n",
" <td>22.260000</td>\n",
" <td>22.920000</td>\n",
" <td>18234500.0</td>\n",
" <td>17.533915</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-09</th>\n",
" <td>23.430000</td>\n",
" <td>22.700001</td>\n",
" <td>23.200001</td>\n",
" <td>22.840000</td>\n",
" <td>12084500.0</td>\n",
" <td>17.472712</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" High Low Open Close Volume Adj Close\n",
"Date \n",
"2012-01-03 21.180000 20.750000 20.830000 21.049999 9321300.0 16.103352\n",
"2012-01-04 21.370001 20.750000 21.049999 21.150000 7856700.0 16.179853\n",
"2012-01-05 22.290001 20.959999 21.100000 22.170000 17880600.0 16.960161\n",
"2012-01-06 23.030001 22.240000 22.260000 22.920000 18234500.0 17.533915\n",
"2012-01-09 23.430000 22.700001 23.200001 22.840000 12084500.0 17.472712"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"gm.head()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"gm.to_csv('GM_Stock.csv')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Partie 2: Visualisation des données\n",
"\n",
"**Il est temps de visualiser les données.**\n",
"\n",
"**Suivez et recréez les graphiques ci-dessous en suivant les instructions et les explications.**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"____\n",
"\n",
"**Recréez ce tracé linéaire de tous les prix à l'ouverture des différentes actions! Astuce: Pour la légende, utilisez le paramètre label et plt.legend()**"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"# Code ici"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x116672b90>"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1152x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"tesla['Open'].plot(label='Tesla',figsize=(16,8),title='Open Price')\n",
"gm['Open'].plot(label='GM')\n",
"ford['Open'].plot(label='Ford')\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"____"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Tracez le volume des actions négociées chaque jour.**"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x116416050>"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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AJCRjRs3atmyZTryyCNljOn35uTOWqvt27dr48aNOuqoo2I/j9JcAAAAAMjIzMyMDjnkkJEIQiXJGKNDDjkkcQaYQBQAAAAAMjQqQajTy+clEAUAAACAkti+fbuOPfZYHXvssXr605+uww8/3P95bm4u9uuccsopuuyyy3LbTsaIAgAAAEBJHHLIIbr77rslSWeccYaWLl2qD3/4w33eqnZkRAEAAABgBKxcuVLHH3+8jj32WL3nPe+R53mqVqs69dRTtXz5cr3whS/UmWee2fa8T3ziE3rpS1+qF77whXrXu94la23qbSEjCgAAAAA5+OQVa3T/pj2ZvuZv/upB+sSfvCDx8+677z5deumluuWWWzQ+Pq7TTjtN559/vp773Odq27ZtuvfeeyVJu3btanvuBz7wAX3yk5+UtVZ//ud/rmuuuUavec1rUn0OMqIAAAAAUHI//OEPdccdd2jFihU69thjdeONN+rhhx/W8573PK1du1Yf+MAHdO211+rggw9ue+6PfvQjHX/88XrRi16kG2+8UWvWrEm9PWREAQAAACAHvWQu82Kt1Tve8Q59+tOfbvvbPffco6uvvlpnnnmmLr74Yp111ln+36ampvS+971Pd955pw4//HB97GMfS7xUSxgyogAAAABQcq961at04YUXatu2bZLqs+v+8pe/1NatW2Wt1Rve8AZ98pOf1J133tn0vOnpaVUqFR166KHau3evLr744ky2h4woAECSNF+bV9VWtWR8Sb83BQAAZGz58uX6xCc+oVe96lXyPE8TExP6xje+obGxMb3zne+UtVbGGP3zP/9z0/MOOeQQvfWtb9ULX/hCPfvZz9bLXvayTLbHZDHjUS9WrFhhV61a1Zf3BgC0e/3lr9fanWt171vv7femAAAwtB544AEdffTR/d6MwoV9bmPMamvtirDHU5oLAJAkrd25tt+bAAAARgSBKAAAAACgUASiAAAAAIBCEYgCAAAAAApFIAoAAAAAKBSBKAAAAACgUASiAAAAAIBCEYgCAAAAAAo13u8NAAAAAABk59Of/rTOPfdcPfOZz9Shhx6ql7zkJbryyiv14he/WKtXr9bWrVt19tln6/Of/7zuvfdevelNb9JnPvOZQreRQBQAAAAA8nD1P0hP3pvtaz59ufSaL0T+edWqVbr44ot11113qVqt6rjjjtNLXvISSdLk5KRuuukmfeUrX9FJJ52k1atX61d+5Vf03Oc+V3/7t3+rQw45JNtt7YBAFAAAAABK4uabb9ZJJ52kJUuWSJL+5E/+xP/biSeeKElavny5XvCCF+gZz3iGJOk5z3mONmzYQCAKAAAAAEOvQ+YyL9bayL8tWrRIklSpVPx/u5+r1Wru2xbEZEUAAAAAUBK/93u/pyuuuEIzMzPat2+fvv/97/d7k0KREQUAAACAknjpS1+qE088US960Yv07Gc/WytWrNDBBx/c781qYzqlbvO0YsUKu2rVqr68NwCg3fKVyyVJ974140kVAAAYIQ888ICOPvrovm7Dvn37tHTpUk1NTenlL3+5zjrrLB133HG5vmfY5zbGrLbWrgh7PBlRAAAAACiR0047Tffff79mZmb01re+NfcgtBcEogAAAABQIuedd16/N6ErJisCAAAAABSKQBQAAAAAUCgCUQAAAABAoQh
"text/plain": [
"<Figure size 1152x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"tesla['Volume'].plot(label='Tesla',figsize=(16,8),title='Volume Traded')\n",
"gm['Volume'].plot(label='gm')\n",
"ford['Volume'].plot(label='ford')\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Intéressant, il semble que Ford ait eu un très gros pic fin 2013. Quelle était la date de ce volume d'échange maximum pour Ford ?**\n",
"\n",
"**Bonus: Que s'est-il passé ce jour-là?**"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Timestamp('2013-12-18 00:00:00')"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ford['Volume'].idxmax()"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# Que s'est-il passé?\n",
"# http://money.cnn.com/2013/12/18/news/companies/ford-profit/\n",
"# https://www.usatoday.com/story/money/cars/2013/12/18/ford-2014-profit-warning/4110015/\n",
"# https://media.ford.com/content/dam/fordmedia/North%20America/US/2014/01/28/4QFinancials.pdf"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"____"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*La visualisation du prix à l'ouverture des séries temporelles donne l'impression que Tesla a toujours eu beaucoup plus de valeur en tant qu'entreprise que GM et Ford. Mais pour vraiment comprendre cela, il faudrait regarder la capitalisation boursière totale de la société, et pas seulement le cours de l'action. Malheureusement, nos données actuelles n'ont pas cette information du nombre total d'unités d'actions présentes. Mais ce que nous pouvons faire comme simple calcul pour essayer de représenter l'argent total échangé serait de multiplier la colonne 'Volume' par le cours de l'action. Rappelez-vous que ce n'est pas encore la capitalisation boursière réelle, c'est juste une représentation visuelle de la quantité totale d'argent échangé en utilisant la série temporelle. (par exemple 100 unités d'actions à 10 dollars chacune contre 100 000 unités d'actions à 1 dollars chacune)*"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Créez une nouvelle colonne pour chaque dataframe appelée \"Total Traded\" qui est le prix d'ouverture multiplié par le volume négocié.**"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"# Code ici"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"tesla['Total Traded'] = tesla['Open']*tesla['Volume']\n",
"ford['Total Traded'] = ford['Open']*ford['Volume']\n",
"gm['Total Traded'] = gm['Open']*gm['Volume']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Tracez ce total négocié (Total Traded) par rapport à l'index de temps.**"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"# Code ici"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Total Traded')"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA6YAAAHLCAYAAADbd4VGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdefwkV13v//fp7u8ymUnQLCwSsgBX2UICDCB4BUFAEdyFK164ImKMYETRnxdcLjuCIlcim/mBRhSIIQv+EEjIRkIIIUz2bRKSEJLJJDOTSWb9bt1d5/dH9amtq7uru6u66tv9ej4eyfc73dVVp6v7230+9Tnnc4y1VgAAAAAAlKVWdgMAAAAAALONwBQAAAAAUCoCUwAAAABAqQhMAQAAAAClIjAFAAAAAJSKwBQAAAAAUKrKBabGmH82xuw0xtycYdtjjTEXG2NuNMZ80xhz9CTaCAAAAADIT+UCU0lnSPr5jNt+RNLnrLXPlPReSX9TVKMAAAAAAMWoXGBqrb1c0sPR24wxTzLGnG+MucYY8y1jzFM6dz1N0sWd3y+V9MsTbCoAAAAAIAeVC0x7OF3Sqdba50j6M0mf7Nx+g6Rf7/z+q5IONcYcUUL7AAAAAAAjapTdgEGMMZskvVDSl4wx7uaFzs8/k/RxY8wbJV0u6X5JrUm3EQAAAAAwusoHpvKzunustScl77DWbpf0a1IQwP66tXbvhNsHAAAAABhD5YfyWmv3SfqBMeY1kmR8J3Z+P9IY457DOyX9c0nNBAAAAACMqHKBqTHmi5K+I+knjDHbjDG/K+l/SvpdY8wNkm5RWOToZyTdboy5Q9JjJH2ghCYDAAAAAMZgrLVltwEAAAAAMMMqlzEFAAAAAMwWAlMAAAAAQKkqVZX3yCOPtMcdd1zZzQAAAAAA5Oyaa655yFp7VNp9lQpMjzvuOG3ZsqXsZgAAAAAAcmaM+WGv+xjKCwAAAAAoFYEpAAAAAKBUBKYAAAAAgFJVao4pAAAAAEyTZrOpbdu2aWVlpeymTMzi4qKOPvpozc3NZX4MgSkAAAAAFGTbtm069NBDddxxx8kYU3ZzCmet1e7du7Vt2zYdf/zxmR/HUF4AAAAAKMjKyoqOOOKImQhKJckYoyOOOGLoDDGBKQAAAAAUaFaCUmeU50tgCgAAAABTavfu3TrppJN00kkn6bGPfawe//jHB/9eW1vLvJ/Xv/71+vKXv1xYO5ljCgAAAABT6ogjjtD1118vSXr3u9+tTZs26c/+7M9KblU3MqYAAAAAMIP+9V//Vc973vN00kkn6S1veYs8z1Or1dIb3vAGnXDCCXrGM56h0047retx73rXu/Tc5z5Xz3jGM3TKKafIWjt2W8iYAgAAAMAEvOcrt+jW7fty3efTfuwwvesXnz70426++Wadd955uvLKK9VoNHTyySfrzDPP1JOe9CQ99NBDuummmyRJe/bs6Xrs2972Nr3nPe+RtVa/9Vu/pfPPP1+vfOUrx3oeZEwBAAAAYMZcdNFF+t73vqfNmzfrpJNO0mWXXaa77rpLT37yk3X77bfrbW97my644AI96lGP6nrsxRdfrOc973k68cQTddlll+mWW24Zuz1kTAEAAABgAkbJbBbFWqs3velNet/73td134033qivf/3rOu2003TOOefo9NNPD+5bWlrSH/7hH+raa6/V4x//eP3VX/3V0EvDpCFjCgAAAAAz5mUve5nOOussPfTQQ5L86r333nuvdu3aJWutXvOa1+g973mPrr322tjjlpeXVavVdOSRR2r//v0655xzcmkPGVMAQOW02p5WW542LvA1BQBAEU444QS9613v0ste9jJ5nqe5uTl9+tOfVr1e1+/+7u/KWitjjD784Q/HHnfEEUfot3/7t/WMZzxDxx57rJ7//Ofn0h6TRwWlvGzevNlu2bKl7GYAAEp2yr9do/NveVD3fOhVZTcFAICx3HbbbXrqU59adjMmLu15G2OusdZuTtueobwAgMo5/5YHy24CAACYIAJTAAAAAECpCEwBAAAAAKUiMAUAAAAAlIrAFABQWVUq0AcAAIpDYAoAqCziUgAAZgOBKQCgsjwiUwAAcrFjxw791m/9lp74xCfqOc95jl7wghfovPPO0ze/+U0ZY/TZz3422Pa6666TMUYf+chHJtY+AlMAQGV5xKUAAIzNWqtf+ZVf0Yte9CLdfffduuaaa3TmmWdq27ZtkqQTTjhB//Ef/xFsf+aZZ+rEE0+caBsJTAEAlUXGFACA8V1yySWan5/XKaecEtx27LHH6tRTT5UkHXPMMVpZWdGOHTtkrdX555+vV77ylRNtY2OiRwMAYAjEpQCAqfL1d0gP3pTvPh97gvTKD/Xd5JZbbtGzn/3svtv8xm/8hr70pS/pWc96lp797GdrYWEhz1YORMYUAFBZZEwBAMjfW9/6Vp144ol67nOfG9z22te+Vl/60pf0xS9+Ua973esm3iYypgCAyiIwBQBMlQGZzaI8/elP1znnnBP8+xOf+IQeeughbd68ObjtsY99rObm5nThhRfqYx/7mK688sqJtpGMKQCgsih+BADA+F760pdqZWVFn/rUp4LblpaWurZ773vfqw9/+MOq1+uTbJ4kMqYAgAoyxp9f6hGZAgAwNmOMvvzlL+tP/uRP9Ld/+7c66qijtHHjRn34wx+ObffCF76wpBYSmAIAKqhmjNrWMpQXAICcPO5xj9OZZ56Zet/P/MzPdN327ne/u9gGJTCUFwBQOTXj/yRhCgDAbCAwBQBUjpEfmVoypgAAzAQCUwBA5RgypgAAzBQCUwBA5YSBKZEpAACzgMAUAFA5tU5kSmAKAMBsIDAFAFSOC0yJSwEAmA2FBabGmJ8wxlwf+W+fMeaPizoeAGB6dEbykjEFACAH9XpdJ510UvDfPffcM/K+3vjGN+rss8/Or3Edha1jaq29XdJJkmSMqUu6X9J5RR0PADA9KH4EAEB+NmzYoOuvv37ox7VaLTUahYWMMZM5ivSzku6y1v5wQscDAKxjhjmmAAAUamVlRX/wB3+gLVu2qNFo6KMf/ahe8pKX6IwzztBXv/pVrays6ODBg7r44ot16qmn6pJLLtHxxx9f2FJukwpMf1PSF9PuMMacLOlkSTrmmGMm1BwAQJXVOhlT1jEFAEyTD1/9YW19eGuu+3zK4U/R/37e/+67zfLysk466SRJ0vHHH6/zzjtPn/jEJyRJN910k7Zu3apXvOIVuuOOOyRJ3/nOd3TjjTfq8MMP17nnnqvbb79dN910k3bs2KGnPe1petOb3pTrc5AmEJgaY+Yl/ZKkd6bdb609XdLpkrR582Z6IACAoPhR2yu5IQAATIG0obxXXHGFTj31VEnSU57yFB177LFBYPryl79chx9+uCTp8ssv1+te9zrV63X92I/9mF760pcW0sZJZExfKelaa+2OCRwLADAFGMoLAJhGgzKbk9RvVNLGjRtj/3bfy0WaxHIxr1OPYbwAAKSpBcWPCEwBACjCi170In3+85+XJN1xxx2699579RM/8ROp25155plqt9t64IEHdOmllxbSnkIzpsaYQyS9XNLvF3kcAMB0McEc03LbAQDAtHrLW96iU045RSeccIIajYbOOOMMLSwsdG33q7/6q7rkkkt0wgkn6Md//Mf14he/uJD2FBqYWmuXJB1R5DEAANOnxlBeAAByc+DAga7bFhcXdcYZZ3Td/sY3vlFvfOMbg38bY/Txj3+8wNb5JjGUFwCAobiZLKxjCgDAbCAwBQBUDsWPAACYLQSmAIDKqXW+nVjHFACA2UBgCgCoHCOXMS25IQAA5GDWLrSO8nwJTAEAlRMsF0NkCgBY5xYXF7V79+6ZCU6ttdq9e7cWFxeHelyhVXkBABhFOMe05IYAADCmo48+Wtu2bdOuXbvKbsrELC4u6uijjx7qMQSmAIDKCdcxJTIFAKxvc3NzOv7448tuRuUxlBcAUDk1MqYAAMwUAlMAQOW4OaZtMqYAAMwEAlMAQOXUWMcUAICZQmAKAKgs5pgCADAbCEwBAJUTZEy
"text/plain": [
"<Figure size 1152x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"tesla['Total Traded'].plot(label='Tesla',figsize=(16,8))\n",
"gm['Total Traded'].plot(label='GM')\n",
"ford['Total Traded'].plot(label='Ford')\n",
"plt.legend()\n",
"plt.ylabel('Total Traded')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Intéressant, il semble qu'il y ait eu une énorme quantité d'argent échangé pour Tesla début 2014. Quelle date c'était et que s'est-il passé ?**"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Timestamp('2014-02-25 00:00:00')"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tesla['Total Traded'].idxmax()"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"# http://money.cnn.com/2014/02/25/investing/tesla-record-high/\n",
"# https://blogs.wsj.com/moneybeat/2014/02/25/tesla-shares-surge-on-morgan-stanley-report/\n",
"# https://www.washingtonpost.com/news/wonk/wp/2014/02/25/teslas-stock-is-up-644-why-it-may-not-last/\n",
"# http://www.cnbc.com/2014/02/25/tesla-soars-ford-falls-in-consumer-reports-study.html"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"____"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Entraînons-nous à tracer des moyennes glissantes ou mobiles (MA - Moving Averages). Tracez MA50 et MA200 pour GM.**"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"# Code ici"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x118d65d50>"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1152x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"gm['MA50'] = gm['Open'].rolling(50).mean()\n",
"gm['MA200'] = gm['Open'].rolling(200).mean()\n",
"gm[['Open','MA50','MA200']].plot(label='gm',figsize=(16,8))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"______"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Enfin, voyons s'il existe une relation entre ces actions car elles sont tous liées à l'industrie automobile. Nous pouvons le voir facilement à travers un diagramme de dispersion. Importez la matrice de dispersion de pandas.plotting et utilisez-la pour créer un diagramme de dispersion du prix d'ouverture de toutes les actions. Vous devrez peut-être réorganiser les colonnes dans un nouveau dataframe unique. Vous trouverez des conseils et des informations ici: https://pandas.pydata.org/pandas-docs/stable/visualization.html#scatter-matrix-plot**"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"from pandas.plotting import scatter_matrix"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
"car_comp = pd.concat([tesla['Open'],gm['Open'],ford['Open']],axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [],
"source": [
"car_comp.columns = ['Tesla Open','GM Open','Ford Open']"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 576x576 with 9 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Vous pouvez utiliser un point-virgule pour supprimer l'impression des axes\n",
"scatter_matrix(car_comp,figsize=(8,8),alpha=0.2,hist_kwds={'bins':50});"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"_____\n",
"### Bonus: Tâche de visualisation ! (C'est difficile !)\n",
"**Créons maintenant un graphique en chandelier! Regardez la vidéo si vous ne parvenez pas à recréer cette visualisation, il y a plusieurs étapes à suivre! Référez-vous à la vidéo pour comprendre comment interpréter et lire ce graphique. Conseils: https://matplotlib.org/examples/pylab_examples/finance_demo.html**\n",
"\n",
"**Créer un graphique de chandeliers pour Ford en janvier 2012 (trop de dates, ce ne sera pas idéal pour un graphique de chandeliers)**"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [],
"source": [
"# Code ici"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# from mpl_finance import candlestick_ohlc\n",
"# Maj mpl_finance devient mplfinance - pip install --upgrade mplfinance \n",
"from mplfinance.original_flavor import candlestick_ohlc\n",
"\n",
"from matplotlib.dates import DateFormatter, date2num, WeekdayLocator, DayLocator, MONDAY\n",
"\n",
"# Réinitialiser l'index pour obtenir une colonne des dates de janvier\n",
"ford_reset = ford.loc['2012-01':'2012-01'].reset_index()\n",
"\n",
"# Créer une nouvelle colonne de valeurs numériques de \"date\" à utiliser par matplotlib\n",
"ford_reset['date_ax'] = ford_reset['Date'].apply(lambda date: date2num(date))\n",
"ford_values = [tuple(vals) for vals in ford_reset[['date_ax', 'Open', 'High', 'Low', 'Close']].values]\n",
"\n",
"mondays = WeekdayLocator(MONDAY) # major ticks on the mondays\n",
"alldays = DayLocator() # minor ticks on the days\n",
"weekFormatter = DateFormatter('%b %d') # e.g., Jan 12\n",
"dayFormatter = DateFormatter('%d') # e.g., 12\n",
"\n",
"# Tracé\n",
"fig, ax = plt.subplots()\n",
"fig.subplots_adjust(bottom=0.2)\n",
"ax.xaxis.set_major_locator(mondays)\n",
"ax.xaxis.set_minor_locator(alldays)\n",
"ax.xaxis.set_major_formatter(weekFormatter)\n",
"\n",
"candlestick_ohlc(ax, ford_values, width=0.6, colorup='g',colordown='r');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"____\n",
"# Partie 3: Analyse financière de base\n",
"\n",
"Il est maintenant temps de se concentrer sur quelques calculs financiers clés. Cela vous servira de transition vers la deuxième moitié du cours. Vous n'avez qu'à suivre les instructions, il s'agira principalement d'un exercice de conversion d'une équation ou d'un concept mathématique en code à l'aide de python et pandas, ce que nous ferons souvent lorsque nous travaillerons avec des données quantitatives! Si vous vous sentez perdu dans cette section, ne vous inquiétez pas! Allez simplement au notebook (ou vidéo) sur les solutions et traitez-la comme une revue de code, utilisez le style d'apprentissage qui vous convient le mieux!\n",
"\n",
"Commençons !\n",
"____"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Rendement quotidien en pourcentage\n",
"Nous commencerons par calculer la rendement quotidienne en pourcentage. Le rendement (en %) est défini par la formule suivante :"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$ r_t = \\frac{p_t}{p_{t-1}} -1$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Cela définit r_t (rendement à l'instant t) comme étant égal au prix à l'instant t divisé par le prix à l'instant t-1 (la veille) moins 1. En gros, cela vous informe simplement de votre pourcentage de gain (ou de perte) si vous avez acheté l'action le jour et l'avez ensuite vendue le lendemain. Bien que cela ne soit pas nécessairement utile pour tenter de prédire les valeurs futures du titre, c'est très utile pour analyser la volatilité du titre. Si les rendements quotidiens ont une large distribution, le titre est plus volatil d'un jour à l'autre. Calculons les pourcentages de rendement, puis traçons un histogramme et décidons quel titre est le plus stable!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Créez une nouvelle colonne pour chaque dataframe appelée 'returns'. Cette colonne sera calculée à partir de la colonne de prix à la fermeture'Close'. Il y a deux façons de faire cela, soit un simple calcul en utilisant la méthode .shift() qui suit la formule ci-dessus, ou vous pouvez aussi utiliser la méthode pct_change intégrée à pandas.**"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [],
"source": [
"# Méthode 1: en utilisant shift\n",
"tesla['returns'] = (tesla['Close'] / tesla['Close'].shift(1) ) - 1"
]
},
{
"cell_type": "code",
"execution_count": 32,
"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>High</th>\n",
" <th>Low</th>\n",
" <th>Open</th>\n",
" <th>Close</th>\n",
" <th>Volume</th>\n",
" <th>Adj Close</th>\n",
" <th>Total Traded</th>\n",
" <th>returns</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2012-01-03</th>\n",
" <td>29.500000</td>\n",
" <td>27.650000</td>\n",
" <td>28.940001</td>\n",
" <td>28.080000</td>\n",
" <td>928100</td>\n",
" <td>28.080000</td>\n",
" <td>2.685921e+07</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-04</th>\n",
" <td>28.670000</td>\n",
" <td>27.500000</td>\n",
" <td>28.209999</td>\n",
" <td>27.709999</td>\n",
" <td>630100</td>\n",
" <td>27.709999</td>\n",
" <td>1.777512e+07</td>\n",
" <td>-0.013177</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-05</th>\n",
" <td>27.930000</td>\n",
" <td>26.850000</td>\n",
" <td>27.760000</td>\n",
" <td>27.120001</td>\n",
" <td>1005500</td>\n",
" <td>27.120001</td>\n",
" <td>2.791268e+07</td>\n",
" <td>-0.021292</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-06</th>\n",
" <td>27.790001</td>\n",
" <td>26.410000</td>\n",
" <td>27.200001</td>\n",
" <td>26.910000</td>\n",
" <td>986300</td>\n",
" <td>26.910000</td>\n",
" <td>2.682736e+07</td>\n",
" <td>-0.007743</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-09</th>\n",
" <td>27.490000</td>\n",
" <td>26.120001</td>\n",
" <td>27.000000</td>\n",
" <td>27.250000</td>\n",
" <td>897000</td>\n",
" <td>27.250000</td>\n",
" <td>2.421900e+07</td>\n",
" <td>0.012635</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" High Low Open Close Volume Adj Close \\\n",
"Date \n",
"2012-01-03 29.500000 27.650000 28.940001 28.080000 928100 28.080000 \n",
"2012-01-04 28.670000 27.500000 28.209999 27.709999 630100 27.709999 \n",
"2012-01-05 27.930000 26.850000 27.760000 27.120001 1005500 27.120001 \n",
"2012-01-06 27.790001 26.410000 27.200001 26.910000 986300 26.910000 \n",
"2012-01-09 27.490000 26.120001 27.000000 27.250000 897000 27.250000 \n",
"\n",
" Total Traded returns \n",
"Date \n",
"2012-01-03 2.685921e+07 NaN \n",
"2012-01-04 1.777512e+07 -0.013177 \n",
"2012-01-05 2.791268e+07 -0.021292 \n",
"2012-01-06 2.682736e+07 -0.007743 \n",
"2012-01-09 2.421900e+07 0.012635 "
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tesla.head()"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [],
"source": [
"# méthode 2: en utilisant pct_change\n",
"tesla['returns'] = tesla['Close'].pct_change(1)"
]
},
{
"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>High</th>\n",
" <th>Low</th>\n",
" <th>Open</th>\n",
" <th>Close</th>\n",
" <th>Volume</th>\n",
" <th>Adj Close</th>\n",
" <th>Total Traded</th>\n",
" <th>returns</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2012-01-03</th>\n",
" <td>29.500000</td>\n",
" <td>27.650000</td>\n",
" <td>28.940001</td>\n",
" <td>28.080000</td>\n",
" <td>928100</td>\n",
" <td>28.080000</td>\n",
" <td>2.685921e+07</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-04</th>\n",
" <td>28.670000</td>\n",
" <td>27.500000</td>\n",
" <td>28.209999</td>\n",
" <td>27.709999</td>\n",
" <td>630100</td>\n",
" <td>27.709999</td>\n",
" <td>1.777512e+07</td>\n",
" <td>-0.013177</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-05</th>\n",
" <td>27.930000</td>\n",
" <td>26.850000</td>\n",
" <td>27.760000</td>\n",
" <td>27.120001</td>\n",
" <td>1005500</td>\n",
" <td>27.120001</td>\n",
" <td>2.791268e+07</td>\n",
" <td>-0.021292</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-06</th>\n",
" <td>27.790001</td>\n",
" <td>26.410000</td>\n",
" <td>27.200001</td>\n",
" <td>26.910000</td>\n",
" <td>986300</td>\n",
" <td>26.910000</td>\n",
" <td>2.682736e+07</td>\n",
" <td>-0.007743</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-09</th>\n",
" <td>27.490000</td>\n",
" <td>26.120001</td>\n",
" <td>27.000000</td>\n",
" <td>27.250000</td>\n",
" <td>897000</td>\n",
" <td>27.250000</td>\n",
" <td>2.421900e+07</td>\n",
" <td>0.012635</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" High Low Open Close Volume Adj Close \\\n",
"Date \n",
"2012-01-03 29.500000 27.650000 28.940001 28.080000 928100 28.080000 \n",
"2012-01-04 28.670000 27.500000 28.209999 27.709999 630100 27.709999 \n",
"2012-01-05 27.930000 26.850000 27.760000 27.120001 1005500 27.120001 \n",
"2012-01-06 27.790001 26.410000 27.200001 26.910000 986300 26.910000 \n",
"2012-01-09 27.490000 26.120001 27.000000 27.250000 897000 27.250000 \n",
"\n",
" Total Traded returns \n",
"Date \n",
"2012-01-03 2.685921e+07 NaN \n",
"2012-01-04 1.777512e+07 -0.013177 \n",
"2012-01-05 2.791268e+07 -0.021292 \n",
"2012-01-06 2.682736e+07 -0.007743 \n",
"2012-01-09 2.421900e+07 0.012635 "
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tesla.head()"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [],
"source": [
"# répéter pour les autres dataframes\n",
"ford['returns'] = ford['Close'].pct_change(1)\n",
"gm['returns'] = gm['Close'].pct_change(1)"
]
},
{
"cell_type": "code",
"execution_count": 36,
"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>High</th>\n",
" <th>Low</th>\n",
" <th>Open</th>\n",
" <th>Close</th>\n",
" <th>Volume</th>\n",
" <th>Adj Close</th>\n",
" <th>Total Traded</th>\n",
" <th>returns</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2012-01-03</th>\n",
" <td>11.25</td>\n",
" <td>10.99</td>\n",
" <td>11.00</td>\n",
" <td>11.13</td>\n",
" <td>45709900.0</td>\n",
" <td>7.687118</td>\n",
" <td>5.028089e+08</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-04</th>\n",
" <td>11.53</td>\n",
" <td>11.07</td>\n",
" <td>11.15</td>\n",
" <td>11.30</td>\n",
" <td>79725200.0</td>\n",
" <td>7.804530</td>\n",
" <td>8.889359e+08</td>\n",
" <td>0.015274</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-05</th>\n",
" <td>11.63</td>\n",
" <td>11.24</td>\n",
" <td>11.33</td>\n",
" <td>11.59</td>\n",
" <td>67877500.0</td>\n",
" <td>8.004824</td>\n",
" <td>7.690521e+08</td>\n",
" <td>0.025664</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-06</th>\n",
" <td>11.80</td>\n",
" <td>11.52</td>\n",
" <td>11.74</td>\n",
" <td>11.71</td>\n",
" <td>59840700.0</td>\n",
" <td>8.087703</td>\n",
" <td>7.025298e+08</td>\n",
" <td>0.010354</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-09</th>\n",
" <td>11.95</td>\n",
" <td>11.70</td>\n",
" <td>11.83</td>\n",
" <td>11.80</td>\n",
" <td>53981500.0</td>\n",
" <td>8.149862</td>\n",
" <td>6.386011e+08</td>\n",
" <td>0.007686</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" High Low Open Close Volume Adj Close Total Traded \\\n",
"Date \n",
"2012-01-03 11.25 10.99 11.00 11.13 45709900.0 7.687118 5.028089e+08 \n",
"2012-01-04 11.53 11.07 11.15 11.30 79725200.0 7.804530 8.889359e+08 \n",
"2012-01-05 11.63 11.24 11.33 11.59 67877500.0 8.004824 7.690521e+08 \n",
"2012-01-06 11.80 11.52 11.74 11.71 59840700.0 8.087703 7.025298e+08 \n",
"2012-01-09 11.95 11.70 11.83 11.80 53981500.0 8.149862 6.386011e+08 \n",
"\n",
" returns \n",
"Date \n",
"2012-01-03 NaN \n",
"2012-01-04 0.015274 \n",
"2012-01-05 0.025664 \n",
"2012-01-06 0.010354 \n",
"2012-01-09 0.007686 "
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ford.head()"
]
},
{
"cell_type": "code",
"execution_count": 37,
"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>High</th>\n",
" <th>Low</th>\n",
" <th>Open</th>\n",
" <th>Close</th>\n",
" <th>Volume</th>\n",
" <th>Adj Close</th>\n",
" <th>Total Traded</th>\n",
" <th>MA50</th>\n",
" <th>MA200</th>\n",
" <th>returns</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2012-01-03</th>\n",
" <td>21.180000</td>\n",
" <td>20.750000</td>\n",
" <td>20.830000</td>\n",
" <td>21.049999</td>\n",
" <td>9321300.0</td>\n",
" <td>16.103352</td>\n",
" <td>1.941627e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-04</th>\n",
" <td>21.370001</td>\n",
" <td>20.750000</td>\n",
" <td>21.049999</td>\n",
" <td>21.150000</td>\n",
" <td>7856700.0</td>\n",
" <td>16.179853</td>\n",
" <td>1.653835e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.004751</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-05</th>\n",
" <td>22.290001</td>\n",
" <td>20.959999</td>\n",
" <td>21.100000</td>\n",
" <td>22.170000</td>\n",
" <td>17880600.0</td>\n",
" <td>16.960161</td>\n",
" <td>3.772807e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.048227</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-06</th>\n",
" <td>23.030001</td>\n",
" <td>22.240000</td>\n",
" <td>22.260000</td>\n",
" <td>22.920000</td>\n",
" <td>18234500.0</td>\n",
" <td>17.533915</td>\n",
" <td>4.059000e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.033829</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-09</th>\n",
" <td>23.430000</td>\n",
" <td>22.700001</td>\n",
" <td>23.200001</td>\n",
" <td>22.840000</td>\n",
" <td>12084500.0</td>\n",
" <td>17.472712</td>\n",
" <td>2.803604e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-0.003490</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" High Low Open Close Volume Adj Close \\\n",
"Date \n",
"2012-01-03 21.180000 20.750000 20.830000 21.049999 9321300.0 16.103352 \n",
"2012-01-04 21.370001 20.750000 21.049999 21.150000 7856700.0 16.179853 \n",
"2012-01-05 22.290001 20.959999 21.100000 22.170000 17880600.0 16.960161 \n",
"2012-01-06 23.030001 22.240000 22.260000 22.920000 18234500.0 17.533915 \n",
"2012-01-09 23.430000 22.700001 23.200001 22.840000 12084500.0 17.472712 \n",
"\n",
" Total Traded MA50 MA200 returns \n",
"Date \n",
"2012-01-03 1.941627e+08 NaN NaN NaN \n",
"2012-01-04 1.653835e+08 NaN NaN 0.004751 \n",
"2012-01-05 3.772807e+08 NaN NaN 0.048227 \n",
"2012-01-06 4.059000e+08 NaN NaN 0.033829 \n",
"2012-01-09 2.803604e+08 NaN NaN -0.003490 "
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"gm.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Maintenant, tracez un histogramme des rendements de chaque entreprise. Soit vous les faites séparément, soit vous les empilez les uns sur les autres. Quelle est l'action la plus \"volatile\"? (selon la variance des rendements quotidiens, nous discuterons de la volatilité de façon beaucoup plus détaillée dans les prochaines sections).**"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x11944bb10>"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ford['returns'].hist(bins=50)"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1195afa90>"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD4CAYAAADvsV2wAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAT5ElEQVR4nO3dfZBddX3H8fdXkMetJIiumKCLY2orRFuzotbW2RWtKFaYgjP4GBQn0ylaR2JLqJ1RWx3jA/Wh2nYyosbRsjyoAwWfMGVFnYImgoQQMREyGEhBBbGLVI1++8c9GS/JbnJzzrm7d/N7v2Z29t5zzv3dT/ZuPvu759x7bmQmkqQD3yPmOoAkaXZY+JJUCAtfkgph4UtSISx8SSrEwXMdAOCYY47JkZGRRmM8+OCDHHnkke0EapnZ6jFbPWarZz5m27Bhw08y8zE9D5SZc/61bNmybOraa69tPEa/mK0es9VjtnrmYzZgfe5H1+5zl05EfCIi7o2IW7qWvT8ivh8RN0fEFyJiQde6CyJia0TcFhEv6vkvjySpr3rZh/8p4JTdll0DnJiZTwN+AFwAEBFPBc4CTqhu868RcVBraSVJte2z8DPzOuC+3ZZ9NTN3VlevBxZXl08DJjLzl5l5B7AVOKnFvJKkmiJ7OLVCRIwAV2XmidOs+0/gksz8TER8FLg+Mz9TrbsI+FJmXj7N7VYAKwCGh4eXTUxMNPl3MDU1xdDQUKMx+sVs9ZitHrPVMx+zjY+Pb8jM0Z4H6mVHPzAC3DLN8rcBX+B3fzg+Bry6a/1FwBn7Gt+DtnPHbPWYrR6z1dPWQdvaL8uMiOXAS4GTqzsG2A4c17XZYuDuuvchSWpPrTdeRcQpwPnAyzLzF12rrgTOiohDI+J4YAnw7eYxJUlN7XOGHxEXA2PAMRGxHXg7nVflHApcExHQ2W//V5m5KSIuBW4FdgLnZuZv+hVektS7fRZ+Zr5imsUX7WX7dwPvbhJKktS+gTi1gg5cI6uunnb5ttWnznISSZ48TZIKYeFLUiEsfEkqhIUvSYWw8CWpEBa+JBXCwpekQlj4klQI33ilgdL9Rq2VS3dydnXdN2pJzTnDl6RCWPiSVAh36Whe8Jw8UnPO8CWpEBa+JBXCwpekQlj4klQIC1+SCmHhS1IhLHxJKoSFL0mFsPAlqRAWviQVwsKXpEJY+JJUCAtfkgph4UtSIfZZ+BHxiYi4NyJu6Vp2dERcExFbqu8Lq+URER+JiK0RcXNEPKOf4SVJvetlhv8p4JTdlq0C1mXmEmBddR3gxcCS6msF8G/txJQkNbXPws/M64D7dlt8GrC2urwWOL1r+aez43pgQUQc21ZYSVJ9kZn73ihiBLgqM0+srv8sMxd0rb8/MxdGxFXA6sz8ZrV8HXB+Zq6fZswVdJ4FMDw8vGxiYqLRP2RqaoqhoaFGY/RLydk23vVA7dsOHw73PLT3bZYuOqr2+E2U/Jg2YbZ6Zso2Pj6+ITNHex2n7Y84jGmWTfsXJTPXAGsARkdHc2xsrNEdT05O0nSMfik529kzfDRhL1Yu3cmFG/f+K7rtVWO1x2+i5Me0CbPV01a2uoV/T0Qcm5k7ql0291bLtwPHdW23GLi7SUDNDzN95qykwVH3ZZlXAsury8uBK7qWv7Z6tc6zgQcyc0fDjJKkFuxzhh8RFwNjwDERsR14O7AauDQizgHuBF5ebf5F4CXAVuAXwOv6kFmSVMM+Cz8zXzHDqpOn2TaBc5uGkiS1z3faSlIhLHxJKoSFL0mFsPAlqRAWviQVwsKXpEJY+JJUCAtfkgph4UtSISx8SSpE26dHlmbVTGfp3Lb61FlOIg0+Z/iSVAgLX5IKYeFLUiEsfEkqhIUvSYWw8CWpEBa+JBXCwpekQlj4klQIC1+SCmHhS1IhPJeODkieY0fakzN8SSqEhS9JhbDwJakQjQo/It4SEZsi4paIuDgiDouI4yPihojYEhGXRMQhbYWVJNVXu/AjYhHwN8BoZp4IHAScBbwX+GBmLgHuB85pI6gkqZmmu3QOBg6PiIOBI4AdwPOBy6v1a4HTG96HJKkFkZn1bxzxZuDdwEPAV4E3A9dn5pOr9ccBX6qeAex+2xXACoDh4eFlExMTtXMATE1NMTQ01GiMfikh28a7HmghzcMNHw73PNTumEsXHdXKOCU8pv1gtnpmyjY+Pr4hM0d7Haf26/AjYiFwGnA88DPgMuDF02w67V+UzFwDrAEYHR3NsbGxulEAmJycpOkY/VJCtrNneN17EyuX7uTCje2+VWTbq8ZaGaeEx7QfzFZPW9ma7NJ5AXBHZv44M38NfB74E2BBtYsHYDFwd8OMkqQWNCn8O4FnR8QRERHAycCtwLXAmdU2y4ErmkWUJLWhduFn5g10Ds5+F9hYjbUGOB84LyK2Ao8GLmohpySpoUY7SDPz7cDbd1t8O3BSk3ElSe3znbaSVAgLX5IKYeFLUiEsfEkqhIUvSYWw8CWpEBa+JBXCwpekQlj4klQIC1+SCmHhS1IhLHxJKkS7ny4hzWMjM3yIy7bVp85yEqk/nOFLUiEsfEkqhLt0VJSZdttIJXCGL0mFsPAlqRAWviQVwsKXpEJY+JJUCAtfkgph4UtSISx8SSqEhS9JhbDwJakQjQo/IhZExOUR8f2I2BwRz4mIoyPimojYUn1f2FZYSVJ9TWf4Hwa+nJl/ADwd2AysAtZl5hJgXXVdkjTHahd+RDwKeB5wEUBm/iozfwacBqytNlsLnN40pCSpuSYz/CcBPwY+GRE3RsTHI+JIYDgzdwBU3x/bQk5JUkORmfVuGDEKXA88NzNviIgPAz8H3pSZC7q2uz8z99iPHxErgBUAw8PDyyYmJmrl2GVqaoqhoaFGY/RLCdk23vVAC2kebvhwuOeh1ofdb0sXHbXHshIe034wWz0zZRsfH9+QmaO9jtOk8B8HXJ+ZI9X1P6Ozv/7JwFhm7oiIY4HJzHzK3sYaHR3N9evX18qxy+TkJGNjY43G6JcSsvXjPPMrl+7kwo1z/5EN033EYQmPaT+YrZ6ZskXEfhV+7V06mfk/wI8iYleZnwzcClwJLK+WLQeuqHsfkqT2NJ0+vQn4bEQcAtwOvI7OH5FLI+Ic4E7g5Q3vQ5LUgkaFn5k3AdM9nTi5ybiSpPbN/Q5SzSt+Jqw0f3lqBUkqhIUvSYWw8CWpEBa+JBXCwpekQlj4klQIC1+SCmHhS1IhLHxJKoSFL0mFsPAlqRCeS0fT8pw50oHHGb4kFcLCl6RCWPiSVAgLX5IKYeFLUiEsfEkqhIUvSYWw8CWpEBa+JBXCwpekQlj4klQIC1+SCmHhS1IhLHxJKkTjwo+IgyLixoi4qrp+fETcEBFbIuKSiDikeUxJUlNtzPDfDGzuuv5e4IOZuQS4HzinhfuQJDXUqPAjYjFwKvDx6noAzwcurzZZC5ze5D4kSe2IzKx/44jLgfcAvwe8FTgbuD4zn1ytPw74UmaeOM1tVwArAIaHh5dNTEzUzgEwNTXF0NBQozH6ZZCz3XvfA9zz0FynmN7w4QxEtqWLjtpj2SA/pmarZz5mGx8f35CZo72OU/sjDiPipcC9mbkhIsZ2LZ5m02n/omTmGmANwOjoaI6NjU23Wc8mJydpOka/DHK2f/nsFVy4cTA/6XLl0p0DkW3bq8b2WDbIj6nZ6ikhW5P/Tc8FXhYRLwEOAx4FfAhYEBEHZ+ZOYDFwd+OUkqTGau/Dz8wLMnNxZo4AZwH/lZmvAq4Fzqw2Ww5c0TilJKmxfrwO/3zgvIjYCjwauKgP9yFJ2k+t7CDNzElgsrp8O3BSG+NKktrjO20lqRBz/xIIacCNrLp6j2Url+5kbPajSI04w5ekQlj4klQIC1+SCmHhS1IhLHxJKoSFL0mFsPAlqRAWviQVwsKXpEJY+JJUCAtfkgph4UtSISx8SSqEhS9JhbDwJakQFr4kFcLCl6RC+IlXBZjuE5t2Wbl0FoMcYGb6uW5bfeosJ5F64wxfkgph4UtSIdylI7XMXT0aVM7wJakQFr4kFcLCl6RC1C78iDguIq6
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"gm['returns'].hist(bins=50)"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x119344ed0>"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"tesla['returns'].hist(bins=50)"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x11926cdd0>"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlYAAAHSCAYAAAAubIVMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3dfbDfVX0n8PfJA0QTeQoSaCIQB6KrZIkh0mhnNDx11d0inRUQVg2VToairEPXsXbXGaidzkLXMdWp2s3UFrpVEwHRtCpODEbXqVhJYHmoEuNTvJUSQOESMCDk7B/5JYbkQu7Duff3+928XjPM/X2fP+Fww/ue77nnlFprAAAYuyndLgAAYLIQrAAAGhGsAAAaEawAABoRrAAAGhGsAAAamdbtApLk6KOPrieeeOKY7/P4449n5syZYy+InqA9JxftObloz8lFe47Mxo0bH6q1vnioYz0RrE488cTcfvvtY77Phg0bsmzZsrEXRE/QnpOL9pxctOfkoj1HppTyk+c65lUgAEAjghUAQCOCFQBAIz0xxgoA6G2/+tWvMjAwkB07dnS7lAkzY8aMzJs3L9OnTx/2NYIVAHBAAwMDedGLXpQTTzwxpZRulzPuaq15+OGHMzAwkPnz5w/7Oq8CAYAD2rFjR2bPnn1QhKokKaVk9uzZI+6hE6wAgGE5WELVbqP58wpWAEDPe/jhh7No0aIsWrQoxx57bObOnbtn+6mnnhr2fd72trfl85///LjVaYwVADBiK9dtbnq/K89Z8LzHZ8+enTvvvDNJcvXVV2fWrFl573vf27SGFvRYAQB97frrr8/pp5+eRYsW5fLLL8/OnTvz9NNP5+1vf3sWLlyYU045JR/96Ef3u+6qq67Kq1/96pxyyim57LLLUmsdcy2CFQDQt+65557cfPPN+ad/+qfceeedefrpp7N69eps3LgxDz30UO6+++7cc889ecc73rHfte95z3vyne98J3fffXceffTR3HLLLWOuR7ACAPrWV7/61XznO9/JkiVLsmjRonz961/PD37wg5x00km577778p73vCdf+cpXcvjhh+937fr163P66afn1FNPzde//vXce++9Y67HGCsAoG/VWvPOd74zf/qnf7rfsbvuuitf/vKX89GPfjQ33XRTVq1atefYE088kXe/+93ZtGlT5s6dmw984ANNJj/VYwUA9K2zzz47n/3sZ/PQQw8l2fXbg1u3bs2DDz6YWmvOP//8/Mmf/Ek2bdr0rOt++ctfZsqUKTn66KPz2GOP5aabbmpSjx4rAKBvLVy4MFdddVXOPvvs7Ny5M9OnT89f/dVfZerUqbn00ktTa00pJddee+2zrps9e3aWL1+eU045JSeccEJ+8zd/s0k9ghUAMGIHmh5hPF199dXP2r744otz8cUX73feHXfcsd++v//7v9/z+Zprrsk111zTtDavAgEAGhGsAAAaEawAABoxxgpoaqhlLro5FgNgIumxAgBoRLACAGhEsALG3cp1m7PtsSezct3mPf8AjNQDDzyQiy++OC996Utz2mmn5TWveU1uvvnmbNiwIaWUfPKTn9xz7h133JFSSj70oQ9NaI3GWAEAI/e1/9n2fmf88fMerrXmvPPOy/Lly/PpT386SfKTn/wka9euzZFHHpmFCxdmzZo1ufTSS5Mkq1evzqmnntq2xmHQYwUA9Lxbb701hxxySC677LI9+0444YRcccUVSZLjjz8+O3bsyAMPPJBaa2655Za88Y1vnPA69VgBAD3v3nvvzeLFi5/3nLe85S254YYb8qpXvSqLFy/OoYceOkHV/ZoeKwCg77zrXe/Kqaeemle/+tV79l1wwQW54YYb8pnPfCYXXXRRV+oSrACAnvfKV74ymzZt2rP9sY99LOvXr8+DDz64Z9+xxx6b6dOnZ926dTnrrLO6UaZgBQD0vjPPPDM7duzIJz7xiT37nnjiif3O++AHP5hrr702U6dOncjy9jDGCgDoeaWUfP7zn8+VV16ZP//zP8+LX/zizJw5M9dee+2zznvta1/bpQp3EawAgJE7wPQI4+G4447L6tWrhzy2bNmy/fZdffXV41vQELwKBABoRLACAGhEsAIAaESwAgBoRLACAGhEsAIAaESwAgD6wtSpU7No0aI9//z4xz8e9b0uueSS3Hjjje2K6zCPFQAwYh+/8+NN73f5ossPeM4LXvCC3HnnnSO+99NPP51p0yYm8ghWAEDf2rFjR/7gD/4gt99+e6ZNm5YPf/jDOeOMM3Ldddfli1/8Ynbs2JHHH38869evzxVXXJFbb7018+fPT611XOoRrACAvvDLX/4yixYtSpLMnz8/N998cz72sY8lSe6+++5873vfy2//9m9n8+bNSZJvfetbueuuu3LUUUflc5/7XO67777cfffdeeCBB/KKV7wi73znO5vXKFgBAH1hqFeB3/zmN3PFFVckSV7+8pfnhBNO2BOszjnnnBx11FFJkm984xu56KKLMnXq1PzGb/xGzjzzzHGp0eB1AKBvPd8rvZkzZz5ru5Qy3uUIVgBA/3rd616XT33qU0mSzZs3Z+vWrXnZy1425HmrV6/OM888k/vvvz9f+9rXxqUerwIBgL51+eWX57LLLsvChQszbdq0XHfddTn00EP3O+93f/d3c+utt2bhwoVZsGBBXv/6149LPYIVADBiw5keobXt27fvt2/GjBm57rrr9tt/ySWX5JJLLtmzXUrJX/7lX45jdbt4FQgA0IhgBQDQiGAFANCIYAUADMt4zVbeq0bz5xWsAIADmjFjRh5++OGDJlzVWvPwww9nxowZI7rObwUCAAc0b968DAwM5MEHH+x2KRNmxowZmTdv3oiuEawAgAOaPn165s+f3+0yep5XgQAAjQhWAACNCFYAAI0IVgAAjQhWAACNCFYAAI0cMFiVUv6mlLKtlHLPXvuOKqWsK6V8v/P1yM7+Ukr5aCllSynlrlLK4vEsHgCglwynx+q6JG/YZ9/7k6yvtZ6cZH1nO0nemOTkzj8rknyiTZkAAL3vgMGq1vqNJD/fZ/ebk1zf+Xx9kvP22v93dZfbkhxRSjmuVbEAAL1stGOs5tRa70+SztdjOvvnJvnpXucNdPYBAEx6rZe0KUPsG3K1xlLKiux6XZg5c+Zkw4YNY3749u3bm9yH3qA9+9PcHU8OuX/6ziczd8eP9mxv2PCziSqJceD7c3LRnu2MNlg9UEo5rtZ6f+dV37bO/oEkL9nrvHlJhvzbs9a6KsmqJFmyZEldtmzZKEv5tQ0bNqTFfegN2rM/rVy3ecj9c3f8KP8649frjF2wbMFElcQ48P05uWjPdkb7KnBtkuWdz8uTfGGv/e/o/Hbg0iSP7n5lCAAw2R2wx6qU8pkky5IcXUoZSHJVkmuSfLaUcmmSrUnO75z+pSRvSrIlyRNJfm8cagYA6EkHDFa11oue49BZQ5xbk7xrrEUBAPQjM68DADQiWAEANCJYAQA0IlgBADQiWAEANCJYAQA0IlgBADQiWAEANCJYAQA0IlgBADQiWAEANCJYAQA0IlgBADQiWAEANCJYAQA0IlgBADQiWAEANCJYAQA0IlgBADQiWAEANCJYAQA0IlgBADQiWAEANCJYAQA0IlgBADQiWAHjZtPgmmwaXNPtMgAmjGAFANCIYAUA0IhgBQDQiGAFANCIYAUA0IhgBQDQiGAFANCIYAUA0IhgBQDQiGAFANDItG4XAPSnles2d7sEgJ6jxwoAoBHBCgCgEcEKAKARwQoAoBHBCgCgEcEKAKARwQoAoBHBCgCgEcEKAKARwQoAoBHBCgCgEcEKAKARwQoAoJFp3S4AYLeV6zbvt+/KcxZ0oRKA0dFjBQDQiGAFANCIYAUA0IgxVkBXDDWeCqDf6bECAGhEsAIAaESwAgBoRLACAGhEsAIAaESwAgBoRLACAGhEsAIAaESwAgBoRLACAGhkTMGqlHJlKeXeUso9pZTPlFJmlFLml1K+XUr5fillTSnlkFbFAgD0slEHq1LK3CT/NcmSWuspSaYmeWuSa5OsrLWenOQ
"text/plain": [
"<Figure size 720x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"tesla['returns'].hist(bins=100,label='Tesla',figsize=(10,8),alpha=0.5)\n",
"gm['returns'].hist(bins=100,label='GM',alpha=0.5)\n",
"ford['returns'].hist(bins=100,label='Ford',alpha=0.5)\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Essayez aussi de tracer un KDE au lieu dun 'histogrammes pour avoir un autre point de vue. Quelle action a le tracé le plus large?**"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x119b3c790>"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 864x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"tesla['returns'].plot(kind='kde',label='Tesla',figsize=(12,6))\n",
"gm['returns'].plot(kind='kde',label='GM')\n",
"ford['returns'].plot(kind='kde',label='Ford')\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Essayez aussi de créer des diagrammes en boîtes comparant les rendements.**"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1a1bab9050>"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 576x792 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"box_df = pd.concat([tesla['returns'],gm['returns'],ford['returns']],axis=1)\n",
"box_df.columns = ['Tesla Returns',' GM Returns','Ford Returns']\n",
"box_df.plot(kind='box',figsize=(8,11),colormap='jet')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Comparaison des rendements quotidiens entre les actions\n",
"\n",
"**Créez un graphique matriciel de dispersion pour voir la corrélation entre les rendements quotidiens de chaque titre. Cela permet de répondre à la question de savoir dans quelle mesure les sociétés automobiles sont liées entre elles. Le marché considère-t-il Tesla comme une entreprise de technologie plutôt que comme une entreprise automobile ?**"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 576x576 with 9 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"scatter_matrix(box_df,figsize=(8,8),alpha=0.2,hist_kwds={'bins':50});"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Il semble que Ford et GM aient une sorte de relation, traçons juste ces deux-là dans un diagramme de dispersion pour voir cela de plus près !**"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1a1bd9a090>"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 720x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"box_df.plot(kind='scatter',x=' GM Returns',y='Ford Returns',alpha=0.4,figsize=(10,8))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"____\n",
"## Rendements quotidiens cumulatifs\n",
"\n",
"Super ! Nous pouvons maintenant voir quel titre a eu le plus grand écart de rendement quotidien (vous auriez dû vous rendre compte que c'était Tesla, notre graphique original du cours de l'action aurait dû aussi le montrer).\n",
"\n",
"Avec les rendements cumulatifs quotidiens, la question à laquelle nous essayons de répondre est la suivante: si j'avais investi 1$ dans l'entreprise au début de la série temporelle, combien vaudrait-elle aujourd'hui? Cette question est différente de celle du prix de l'action à la journée courante, car elle tiendra compte des rendements quotidiens. N'oubliez pas que notre simple calcul ici ne tiendra pas compte des actions qui redonnent un dividende. Examinons quelques exemples simples:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Disons qu'il y a une action \"ABC\" qui est activement négociée en bourse. ABC a les prix suivants correspondant aux dates indiquées:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Date Prix\n",
" 01/01/2018 10\n",
" 01/02/2018 15\n",
" 01/03/2018 20\n",
" 01/04/2018 25"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Rendement quotidien**: Le rendement quotidien est le profit ou perte réalisé par l'action par rapport à la veille. (C'est ce qu'on vient de calculer ci-dessus). Une valeur supérieure à 1 indique un profit, de même qu'une valeur inférieure à 1 indique une perte. Il est également exprimé en pourcentage pour mieux transmettre l'information. (Exprimé en pourcentage, si la valeur est supérieure à 0, le titre vous a donné un profit, sinon une perte). Ainsi, pour l'exemple ci-dessus, les rendements quotidiens seraient"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Date Rendement quotidien %Rendement quotidien\n",
" 01/01/2018 10/10 = 1 - \n",
" 01/02/2018 15/10 = 3/2 50%\n",
" 01/03/2018 20/15 = 4/3 33%\n",
" 01/04/2018 25/20 = 5/4 20%"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Rendement Cumulé**: Bien que les rendements quotidiens soient utiles, ils ne donnent pas à l'investisseur un aperçu immédiat des gains qu'il a réalisés jusqu'à présent, surtout si le titre est très volatil. Le rendement cumulatif est calculé par rapport au jour où l'investissement est effectué. Si le rendement cumulatif est supérieur à 1, vous faites des profits, sinon vous êtes en perte. Donc, pour l'exemple ci-dessus, les gains cumulatifs sont les suivants:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Date Rendement cumulé %rendement cumulé\n",
" 01/01/2018 10/10 = 1 100 % \n",
" 01/02/2018 15/10 = 3/2 150 %\n",
" 01/03/2018 20/10 = 2 200 %\n",
" 01/04/2018 25/10 = 5/2 250 %"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"La formule pour un rendement quotidien cumulatif est la suivante :\n",
"\n",
"$ i_i = (1+r_t) * i_{t-1} $\n",
"\n",
"Ici, nous pouvons voir que nous ne faisons que multiplier notre investissement précédent à i à t-1 par 1+notre pourcentage de rendement. Pandas rend cela très simple à calculer avec sa méthode cumprod(). En utilisant quelque chose de la manière suivante :\n",
"\n",
" df[daily_cumulative_return] = (1 + df[pct_daily_return]).cumprod()\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Créez une colonne de rendement quotidien cumulatif (cumulative daily return) pour le dataframe de chaque société automobile.**"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [],
"source": [
"tesla['Cumulative Return'] = (1 + tesla['returns']).cumprod()"
]
},
{
"cell_type": "code",
"execution_count": 47,
"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>High</th>\n",
" <th>Low</th>\n",
" <th>Open</th>\n",
" <th>Close</th>\n",
" <th>Volume</th>\n",
" <th>Adj Close</th>\n",
" <th>Total Traded</th>\n",
" <th>returns</th>\n",
" <th>Cumulative Return</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2012-01-03</th>\n",
" <td>29.500000</td>\n",
" <td>27.650000</td>\n",
" <td>28.940001</td>\n",
" <td>28.080000</td>\n",
" <td>928100</td>\n",
" <td>28.080000</td>\n",
" <td>2.685921e+07</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-04</th>\n",
" <td>28.670000</td>\n",
" <td>27.500000</td>\n",
" <td>28.209999</td>\n",
" <td>27.709999</td>\n",
" <td>630100</td>\n",
" <td>27.709999</td>\n",
" <td>1.777512e+07</td>\n",
" <td>-0.013177</td>\n",
" <td>0.986823</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-05</th>\n",
" <td>27.930000</td>\n",
" <td>26.850000</td>\n",
" <td>27.760000</td>\n",
" <td>27.120001</td>\n",
" <td>1005500</td>\n",
" <td>27.120001</td>\n",
" <td>2.791268e+07</td>\n",
" <td>-0.021292</td>\n",
" <td>0.965812</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-06</th>\n",
" <td>27.790001</td>\n",
" <td>26.410000</td>\n",
" <td>27.200001</td>\n",
" <td>26.910000</td>\n",
" <td>986300</td>\n",
" <td>26.910000</td>\n",
" <td>2.682736e+07</td>\n",
" <td>-0.007743</td>\n",
" <td>0.958333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-01-09</th>\n",
" <td>27.490000</td>\n",
" <td>26.120001</td>\n",
" <td>27.000000</td>\n",
" <td>27.250000</td>\n",
" <td>897000</td>\n",
" <td>27.250000</td>\n",
" <td>2.421900e+07</td>\n",
" <td>0.012635</td>\n",
" <td>0.970442</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" High Low Open Close Volume Adj Close \\\n",
"Date \n",
"2012-01-03 29.500000 27.650000 28.940001 28.080000 928100 28.080000 \n",
"2012-01-04 28.670000 27.500000 28.209999 27.709999 630100 27.709999 \n",
"2012-01-05 27.930000 26.850000 27.760000 27.120001 1005500 27.120001 \n",
"2012-01-06 27.790001 26.410000 27.200001 26.910000 986300 26.910000 \n",
"2012-01-09 27.490000 26.120001 27.000000 27.250000 897000 27.250000 \n",
"\n",
" Total Traded returns Cumulative Return \n",
"Date \n",
"2012-01-03 2.685921e+07 NaN NaN \n",
"2012-01-04 1.777512e+07 -0.013177 0.986823 \n",
"2012-01-05 2.791268e+07 -0.021292 0.965812 \n",
"2012-01-06 2.682736e+07 -0.007743 0.958333 \n",
"2012-01-09 2.421900e+07 0.012635 0.970442 "
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tesla.head()"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [],
"source": [
"ford['Cumulative Return'] = (1 + ford['returns']).cumprod()\n",
"gm['Cumulative Return'] = (1 + gm['returns']).cumprod()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Tracez maintenant les colonnes de rendement cumulatif en fonction de l'index de la série temporelle. Quel titre a affiché le rendement le plus élevé pour un dollar investi? Lequel a affiché le rendement le plus faible?**"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x1a1c024510>"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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GZ9HIpG0j/OZz3wGjz/+eN7WyT2eRERERERE41RtbS3Wr18PALjllltQVlaGm266qcirGo4ZTyIiIiIiognonnvuwbHHHovly5fjuuuug6IoiMViuPzyy7F06VIsWbIEd9xxx7DH3XzzzTjmmGOwZMkSXHvttZBSjnktzHgSERERERHlwK3/2owtB/tzesxFUypw84cXZ/y4TZs24bHHHsPrr78Om82Ga665Bg888ADmzJmDzs5OvPfeewCA3t7eYY/9yle+gltvvRVSSlx22WV45plncN55543p+2DGk4iIiIiIaIJ57rnnsGbNGqxcuRLLly/H6tWrsWvXLhxxxBHYtm0bvvKVr+DZZ59FZWXlsMc+//zzOPbYY7Fs2TKsXr0amzdvHvN6mPEkIiIiIiLKgWwyk/kipcRVV12F2267bdjXNm7ciKeffhp33HEHHnnkEfz+9783vhYIBHDDDTdg3bp1aGpqwre//e2MxqakwownERERERHRBHPWWWfhwQcfRGdnJwC1++2+ffvQ0dEBKSUuvfRS3HrrrVi3bl3C44LBICwWC+rq6jAwMIBHHnkkJ+thxpOIiGgCiCsS/kgMFS57sZdCREQlYOnSpbj55ptx1llnQVEU2O12/Pa3v4XVasXVV18NKSWEELj99tsTHldbW4srrrgCS5YswYwZM3DcccflZD0iFx2K0rVy5Ur5zjvvFOz5iIiIDhe3/msz7nqtGVtvOxcuu7XYyyEiOmy8//77WLhwYbGXURTJvnchxFop5cqh92WpLRER0QTwt7f3AQACkXiRV0JERDQcA08iIqJxri8YRSiqAABCUQaeRERUehh4EhERjXM/eHKL8TEDTyIiKkWjBp5CiD8LIdqFEJtMt9UIIVYJIXZo/6/O7zKJiIgolZ5A1Pg4yMCTiIhKUDoZz7sBnDvktm8CeF5KORfA89rnREREVAQO6+A/53e+uBO3P7O1iKuh8eSt3V1Yduu/0We6eEFElA+jBp5SypcBdA+5+UIA92gf3wPgohyvi4iIiNIkMdih/qn3WvGbl3ZhY0tvEVdE48U7e3vQF4yiwxcu9lKIaILLdo9ng5TyEABo/5+UuyURERFRJjp9kWG3feTXryGuFG5kGpWukUbn7e8OAACicaVQyyGiPLBarVi+fLnxX3Nzc9bHuvLKK/Hwww/nbnEaW86POIQQ4hoA1wDA9OnT8/10REREh51OXxjzG8qxrW0g4fZ3mrtx3OzaIq2KSsHruzrxubvWYE59GS4+eiquPmlWwtf396iBZyzOixRE45nb7cb69eszflwsFoPNlveQEED2Gc82IcRkAND+357qjlLK30spV0opV9bX12f5dERERJRKx0AY02rcw25/aXtHEVZDpWRPpx/hmIIufxh3vrhz2Nf3dwcBABFmPIkmnFAohM997nNYunQpVqxYgRdffBEAcPfdd+PSSy/Fhz/8YZxzzjmQUuKGG27AokWLcMEFF6C9PWVoNybZhrf/BHAFgB9r//9HzlZEREREaQtF4xgIxTC12jPsa239oSKsiEpJWJvv+oE5dVi1pS3ha7G4goO9QeNjIsqBp78JtL6X22M2LgXO+/GIdwkGg1i+fDkAYNasWXjsscdw5513AgDee+89bN26Feeccw62b98OAHjjjTewceNG1NT
"text/plain": [
"<Figure size 1152x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"tesla['Cumulative Return'].plot(label='Tesla',figsize=(16,8),title='Cumulative Return')\n",
"ford['Cumulative Return'].plot(label='Ford')\n",
"gm['Cumulative Return'].plot(label='GM')\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Bon travail!\n",
"\n",
"Voilà pour l'analyse de base, qui conclut cette moitié du cours, beaucoup plus axée sur l'apprentissage des outils du métier. La deuxième moitié du cours est celle où nous nous plongerons vraiment dans les fonctionnalités conçues pour les séries temporelles, l'analyse quantitative, le trading algorithmique, et bien plus encore!"
]
}
],
"metadata": {
"anaconda-cloud": {},
"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.8.5-final"
}
},
"nbformat": 4,
"nbformat_minor": 1
}