637 lines
87 KiB
Plaintext
637 lines
87 KiB
Plaintext
|
{
|
||
|
"cells": [
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"# Introduction à Statsmodels\n",
|
||
|
"\n",
|
||
|
"Statsmodels est un module Python qui fournit des classes et des fonctions pour l'estimation de nombreux modèles statistiques différents, ainsi que pour la réalisation de tests statistiques et l'exploration de données statistiques. Une liste exhaustive de statistiques sur les résultats est disponible pour chaque estimateur. Les résultats sont testés par rapport aux progiciels statistiques existants pour s'assurer qu'ils sont corrects. Le paquet est publié sous la licence Open Source Modified BSD (3-clause). La documentation en ligne est hébergée sur statsmodels.org.\n",
|
||
|
"\n",
|
||
|
"La raison pour laquelle nous l'aborderons dans ce cours est qu'il pourrait vous être très utile plus tard lorsque vous discuterez des données de séries temporelles (typiques de l'analyse financière quantitative).\n",
|
||
|
"\n",
|
||
|
"Prenons un exemple très simple d'utilisation de statsmodels !"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"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": "code",
|
||
|
"execution_count": 2,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"import statsmodels.api as sm"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 3,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"df = sm.datasets.macrodata.load_pandas().data"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 4,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"name": "stdout",
|
||
|
"output_type": "stream",
|
||
|
"text": [
|
||
|
"::\n",
|
||
|
" Number of Observations - 203\n",
|
||
|
"\n",
|
||
|
" Number of Variables - 14\n",
|
||
|
"\n",
|
||
|
" Variable name definitions::\n",
|
||
|
"\n",
|
||
|
" year - 1959q1 - 2009q3\n",
|
||
|
" quarter - 1-4\n",
|
||
|
" realgdp - Real gross domestic product (Bil. of chained 2005 US$,\n",
|
||
|
" seasonally adjusted annual rate)\n",
|
||
|
" realcons - Real personal consumption expenditures (Bil. of chained\n",
|
||
|
" 2005 US$, seasonally adjusted annual rate)\n",
|
||
|
" realinv - Real gross private domestic investment (Bil. of chained\n",
|
||
|
" 2005 US$, seasonally adjusted annual rate)\n",
|
||
|
" realgovt - Real federal consumption expenditures & gross investment\n",
|
||
|
" (Bil. of chained 2005 US$, seasonally adjusted annual rate)\n",
|
||
|
" realdpi - Real private disposable income (Bil. of chained 2005\n",
|
||
|
" US$, seasonally adjusted annual rate)\n",
|
||
|
" cpi - End of the quarter consumer price index for all urban\n",
|
||
|
" consumers: all items (1982-84 = 100, seasonally adjusted).\n",
|
||
|
" m1 - End of the quarter M1 nominal money stock (Seasonally\n",
|
||
|
" adjusted)\n",
|
||
|
" tbilrate - Quarterly monthly average of the monthly 3-month\n",
|
||
|
" treasury bill: secondary market rate\n",
|
||
|
" unemp - Seasonally adjusted unemployment rate (%)\n",
|
||
|
" pop - End of the quarter total population: all ages incl. armed\n",
|
||
|
" forces over seas\n",
|
||
|
" infl - Inflation rate (ln(cpi_{t}/cpi_{t-1}) * 400)\n",
|
||
|
" realint - Real interest rate (tbilrate - infl)\n",
|
||
|
"\n"
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"print(sm.datasets.macrodata.NOTE)"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 5,
|
||
|
"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>year</th>\n",
|
||
|
" <th>quarter</th>\n",
|
||
|
" <th>realgdp</th>\n",
|
||
|
" <th>realcons</th>\n",
|
||
|
" <th>realinv</th>\n",
|
||
|
" <th>realgovt</th>\n",
|
||
|
" <th>realdpi</th>\n",
|
||
|
" <th>cpi</th>\n",
|
||
|
" <th>m1</th>\n",
|
||
|
" <th>tbilrate</th>\n",
|
||
|
" <th>unemp</th>\n",
|
||
|
" <th>pop</th>\n",
|
||
|
" <th>infl</th>\n",
|
||
|
" <th>realint</th>\n",
|
||
|
" </tr>\n",
|
||
|
" </thead>\n",
|
||
|
" <tbody>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>0</th>\n",
|
||
|
" <td>1959.0</td>\n",
|
||
|
" <td>1.0</td>\n",
|
||
|
" <td>2710.349</td>\n",
|
||
|
" <td>1707.4</td>\n",
|
||
|
" <td>286.898</td>\n",
|
||
|
" <td>470.045</td>\n",
|
||
|
" <td>1886.9</td>\n",
|
||
|
" <td>28.98</td>\n",
|
||
|
" <td>139.7</td>\n",
|
||
|
" <td>2.82</td>\n",
|
||
|
" <td>5.8</td>\n",
|
||
|
" <td>177.146</td>\n",
|
||
|
" <td>0.00</td>\n",
|
||
|
" <td>0.00</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>1</th>\n",
|
||
|
" <td>1959.0</td>\n",
|
||
|
" <td>2.0</td>\n",
|
||
|
" <td>2778.801</td>\n",
|
||
|
" <td>1733.7</td>\n",
|
||
|
" <td>310.859</td>\n",
|
||
|
" <td>481.301</td>\n",
|
||
|
" <td>1919.7</td>\n",
|
||
|
" <td>29.15</td>\n",
|
||
|
" <td>141.7</td>\n",
|
||
|
" <td>3.08</td>\n",
|
||
|
" <td>5.1</td>\n",
|
||
|
" <td>177.830</td>\n",
|
||
|
" <td>2.34</td>\n",
|
||
|
" <td>0.74</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>2</th>\n",
|
||
|
" <td>1959.0</td>\n",
|
||
|
" <td>3.0</td>\n",
|
||
|
" <td>2775.488</td>\n",
|
||
|
" <td>1751.8</td>\n",
|
||
|
" <td>289.226</td>\n",
|
||
|
" <td>491.260</td>\n",
|
||
|
" <td>1916.4</td>\n",
|
||
|
" <td>29.35</td>\n",
|
||
|
" <td>140.5</td>\n",
|
||
|
" <td>3.82</td>\n",
|
||
|
" <td>5.3</td>\n",
|
||
|
" <td>178.657</td>\n",
|
||
|
" <td>2.74</td>\n",
|
||
|
" <td>1.09</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>3</th>\n",
|
||
|
" <td>1959.0</td>\n",
|
||
|
" <td>4.0</td>\n",
|
||
|
" <td>2785.204</td>\n",
|
||
|
" <td>1753.7</td>\n",
|
||
|
" <td>299.356</td>\n",
|
||
|
" <td>484.052</td>\n",
|
||
|
" <td>1931.3</td>\n",
|
||
|
" <td>29.37</td>\n",
|
||
|
" <td>140.0</td>\n",
|
||
|
" <td>4.33</td>\n",
|
||
|
" <td>5.6</td>\n",
|
||
|
" <td>179.386</td>\n",
|
||
|
" <td>0.27</td>\n",
|
||
|
" <td>4.06</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>4</th>\n",
|
||
|
" <td>1960.0</td>\n",
|
||
|
" <td>1.0</td>\n",
|
||
|
" <td>2847.699</td>\n",
|
||
|
" <td>1770.5</td>\n",
|
||
|
" <td>331.722</td>\n",
|
||
|
" <td>462.199</td>\n",
|
||
|
" <td>1955.5</td>\n",
|
||
|
" <td>29.54</td>\n",
|
||
|
" <td>139.6</td>\n",
|
||
|
" <td>3.50</td>\n",
|
||
|
" <td>5.2</td>\n",
|
||
|
" <td>180.007</td>\n",
|
||
|
" <td>2.31</td>\n",
|
||
|
" <td>1.19</td>\n",
|
||
|
" </tr>\n",
|
||
|
" </tbody>\n",
|
||
|
"</table>\n",
|
||
|
"</div>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
" year quarter realgdp realcons realinv realgovt realdpi cpi \\\n",
|
||
|
"0 1959.0 1.0 2710.349 1707.4 286.898 470.045 1886.9 28.98 \n",
|
||
|
"1 1959.0 2.0 2778.801 1733.7 310.859 481.301 1919.7 29.15 \n",
|
||
|
"2 1959.0 3.0 2775.488 1751.8 289.226 491.260 1916.4 29.35 \n",
|
||
|
"3 1959.0 4.0 2785.204 1753.7 299.356 484.052 1931.3 29.37 \n",
|
||
|
"4 1960.0 1.0 2847.699 1770.5 331.722 462.199 1955.5 29.54 \n",
|
||
|
"\n",
|
||
|
" m1 tbilrate unemp pop infl realint \n",
|
||
|
"0 139.7 2.82 5.8 177.146 0.00 0.00 \n",
|
||
|
"1 141.7 3.08 5.1 177.830 2.34 0.74 \n",
|
||
|
"2 140.5 3.82 5.3 178.657 2.74 1.09 \n",
|
||
|
"3 140.0 4.33 5.6 179.386 0.27 4.06 \n",
|
||
|
"4 139.6 3.50 5.2 180.007 2.31 1.19 "
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 5,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"df.head()"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 6,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"index = pd.Index(sm.tsa.datetools.dates_from_range('1959Q1', '2009Q3'))"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 7,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"df.index = index"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"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>year</th>\n",
|
||
|
" <th>quarter</th>\n",
|
||
|
" <th>realgdp</th>\n",
|
||
|
" <th>realcons</th>\n",
|
||
|
" <th>realinv</th>\n",
|
||
|
" <th>realgovt</th>\n",
|
||
|
" <th>realdpi</th>\n",
|
||
|
" <th>cpi</th>\n",
|
||
|
" <th>m1</th>\n",
|
||
|
" <th>tbilrate</th>\n",
|
||
|
" <th>unemp</th>\n",
|
||
|
" <th>pop</th>\n",
|
||
|
" <th>infl</th>\n",
|
||
|
" <th>realint</th>\n",
|
||
|
" </tr>\n",
|
||
|
" </thead>\n",
|
||
|
" <tbody>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>1959-03-31</th>\n",
|
||
|
" <td>1959.0</td>\n",
|
||
|
" <td>1.0</td>\n",
|
||
|
" <td>2710.349</td>\n",
|
||
|
" <td>1707.4</td>\n",
|
||
|
" <td>286.898</td>\n",
|
||
|
" <td>470.045</td>\n",
|
||
|
" <td>1886.9</td>\n",
|
||
|
" <td>28.98</td>\n",
|
||
|
" <td>139.7</td>\n",
|
||
|
" <td>2.82</td>\n",
|
||
|
" <td>5.8</td>\n",
|
||
|
" <td>177.146</td>\n",
|
||
|
" <td>0.00</td>\n",
|
||
|
" <td>0.00</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>1959-06-30</th>\n",
|
||
|
" <td>1959.0</td>\n",
|
||
|
" <td>2.0</td>\n",
|
||
|
" <td>2778.801</td>\n",
|
||
|
" <td>1733.7</td>\n",
|
||
|
" <td>310.859</td>\n",
|
||
|
" <td>481.301</td>\n",
|
||
|
" <td>1919.7</td>\n",
|
||
|
" <td>29.15</td>\n",
|
||
|
" <td>141.7</td>\n",
|
||
|
" <td>3.08</td>\n",
|
||
|
" <td>5.1</td>\n",
|
||
|
" <td>177.830</td>\n",
|
||
|
" <td>2.34</td>\n",
|
||
|
" <td>0.74</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>1959-09-30</th>\n",
|
||
|
" <td>1959.0</td>\n",
|
||
|
" <td>3.0</td>\n",
|
||
|
" <td>2775.488</td>\n",
|
||
|
" <td>1751.8</td>\n",
|
||
|
" <td>289.226</td>\n",
|
||
|
" <td>491.260</td>\n",
|
||
|
" <td>1916.4</td>\n",
|
||
|
" <td>29.35</td>\n",
|
||
|
" <td>140.5</td>\n",
|
||
|
" <td>3.82</td>\n",
|
||
|
" <td>5.3</td>\n",
|
||
|
" <td>178.657</td>\n",
|
||
|
" <td>2.74</td>\n",
|
||
|
" <td>1.09</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>1959-12-31</th>\n",
|
||
|
" <td>1959.0</td>\n",
|
||
|
" <td>4.0</td>\n",
|
||
|
" <td>2785.204</td>\n",
|
||
|
" <td>1753.7</td>\n",
|
||
|
" <td>299.356</td>\n",
|
||
|
" <td>484.052</td>\n",
|
||
|
" <td>1931.3</td>\n",
|
||
|
" <td>29.37</td>\n",
|
||
|
" <td>140.0</td>\n",
|
||
|
" <td>4.33</td>\n",
|
||
|
" <td>5.6</td>\n",
|
||
|
" <td>179.386</td>\n",
|
||
|
" <td>0.27</td>\n",
|
||
|
" <td>4.06</td>\n",
|
||
|
" </tr>\n",
|
||
|
" <tr>\n",
|
||
|
" <th>1960-03-31</th>\n",
|
||
|
" <td>1960.0</td>\n",
|
||
|
" <td>1.0</td>\n",
|
||
|
" <td>2847.699</td>\n",
|
||
|
" <td>1770.5</td>\n",
|
||
|
" <td>331.722</td>\n",
|
||
|
" <td>462.199</td>\n",
|
||
|
" <td>1955.5</td>\n",
|
||
|
" <td>29.54</td>\n",
|
||
|
" <td>139.6</td>\n",
|
||
|
" <td>3.50</td>\n",
|
||
|
" <td>5.2</td>\n",
|
||
|
" <td>180.007</td>\n",
|
||
|
" <td>2.31</td>\n",
|
||
|
" <td>1.19</td>\n",
|
||
|
" </tr>\n",
|
||
|
" </tbody>\n",
|
||
|
"</table>\n",
|
||
|
"</div>"
|
||
|
],
|
||
|
"text/plain": [
|
||
|
" year quarter realgdp realcons realinv realgovt realdpi \\\n",
|
||
|
"1959-03-31 1959.0 1.0 2710.349 1707.4 286.898 470.045 1886.9 \n",
|
||
|
"1959-06-30 1959.0 2.0 2778.801 1733.7 310.859 481.301 1919.7 \n",
|
||
|
"1959-09-30 1959.0 3.0 2775.488 1751.8 289.226 491.260 1916.4 \n",
|
||
|
"1959-12-31 1959.0 4.0 2785.204 1753.7 299.356 484.052 1931.3 \n",
|
||
|
"1960-03-31 1960.0 1.0 2847.699 1770.5 331.722 462.199 1955.5 \n",
|
||
|
"\n",
|
||
|
" cpi m1 tbilrate unemp pop infl realint \n",
|
||
|
"1959-03-31 28.98 139.7 2.82 5.8 177.146 0.00 0.00 \n",
|
||
|
"1959-06-30 29.15 141.7 3.08 5.1 177.830 2.34 0.74 \n",
|
||
|
"1959-09-30 29.35 140.5 3.82 5.3 178.657 2.74 1.09 \n",
|
||
|
"1959-12-31 29.37 140.0 4.33 5.6 179.386 0.27 4.06 \n",
|
||
|
"1960-03-31 29.54 139.6 3.50 5.2 180.007 2.31 1.19 "
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 8,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"df.head()"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 9,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"Text(0, 0.5, 'REAL GDP')"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 9,
|
||
|
"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": [
|
||
|
"df['realgdp'].plot()\n",
|
||
|
"plt.ylabel(\"REAL GDP\")"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"## Utiliser Statsmodels pour obtenir la tendance\n",
|
||
|
"Le filtre Hodrick-Prescott sépare une série temporelle y_t en une composante de tendance τ_t et en une composante de cycle ζt\n",
|
||
|
"\n",
|
||
|
"$y_t = \\tau_t + \\zeta_t$\n",
|
||
|
"\n",
|
||
|
"Les composantes sont déterminées en minimisant la fonction de perte quadratique suivante:\n",
|
||
|
"\n",
|
||
|
"$\\min_{\\\\{ \\tau_{t}\\\\} }\\sum_{t}^{T}\\zeta_{t}^{2}+\\lambda\\sum_{t=1}^{T}\\left[\\left(\\tau_{t}-\\tau_{t-1}\\right)-\\left(\\tau_{t-1}-\\tau_{t-2}\\right)\\right]^{2}$"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 10,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"# Décomposition du tuple\n",
|
||
|
"gdp_cycle, gdp_trend = sm.tsa.filters.hpfilter(df.realgdp)"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 11,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"1959-03-31 39.511915\n",
|
||
|
"1959-06-30 80.088532\n",
|
||
|
"1959-09-30 48.875455\n",
|
||
|
"1959-12-31 30.591933\n",
|
||
|
"1960-03-31 64.882667\n",
|
||
|
" ... \n",
|
||
|
"2008-09-30 102.018455\n",
|
||
|
"2008-12-31 -107.269472\n",
|
||
|
"2009-03-31 -349.047706\n",
|
||
|
"2009-06-30 -397.557073\n",
|
||
|
"2009-09-30 -333.115243\n",
|
||
|
"Name: realgdp, Length: 203, dtype: float64"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 11,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"gdp_cycle"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 12,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"pandas.core.series.Series"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 12,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"type(gdp_cycle)"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 13,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"df[\"trend\"] = gdp_trend"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 14,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"<matplotlib.axes._subplots.AxesSubplot at 0x1c1a790c90>"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 14,
|
||
|
"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": [
|
||
|
"df[['trend','realgdp']].plot()"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 15,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"<matplotlib.axes._subplots.AxesSubplot at 0x1c1a8de890>"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 15,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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
|
||
|
"text/plain": [
|
||
|
"<Figure size 864x576 with 1 Axes>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {
|
||
|
"needs_background": "light"
|
||
|
},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"df[['trend','realgdp']][\"2000-03-31\":].plot(figsize=(12,8))"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"## Bon Travail!"
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"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.7.5"
|
||
|
}
|
||
|
},
|
||
|
"nbformat": 4,
|
||
|
"nbformat_minor": 2
|
||
|
}
|