Skip to content

Instantly share code, notes, and snippets.

@Sergeant-Arcade
Created November 9, 2021 23:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Sergeant-Arcade/4fc58005a7e6eaab304119b065db1d9e to your computer and use it in GitHub Desktop.
Save Sergeant-Arcade/4fc58005a7e6eaab304119b065db1d9e to your computer and use it in GitHub Desktop.
Netflix Stock Profile Jupyter Notebook
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Introduction\n",
"\n",
"In this project, you will act as a data visualization developer at Yahoo Finance! You will be helping the \"Netflix Stock Profile\" team visualize the Netflix stock data. In finance, a _stock profile_ is a series of studies, visualizations, and analyses that dive into different aspects a publicly traded company's data. \n",
"\n",
"For the purposes of the project, you will only visualize data for the year of 2017. Specifically, you will be in charge of creating the following visualizations:\n",
"+ The distribution of the stock prices for the past year\n",
"+ Netflix's earnings and revenue in the last four quarters\n",
"+ The actual vs. estimated earnings per share for the four quarters in 2017\n",
"+ A comparison of the Netflix Stock price vs the Dow Jones Industrial Average price in 2017 \n",
"\n",
"Note: We are using the Dow Jones Industrial Average to compare the Netflix stock to the larter stock market. Learn more about why the Dow Jones Industrial Average is a general reflection of the larger stock market [here](https://www.investopedia.com/terms/d/djia.asp).\n",
"\n",
"During this project, you will analyze, prepare, and plot data. Your visualizations will help the financial analysts asses the risk of the Netflix stock.\n",
"\n",
"After you complete your visualizations, you'll be creating a presentation to share the images with the rest of the Netflix Stock Profile team. Your slides should include:\n",
"\n",
"- A title slide\n",
"- A list of your visualizations and your role in their creation for the \"Stock Profile\" team\n",
"- A visualization of the distribution of the stock prices for Netflix in 2017\n",
"- A visualization and a summary of Netflix stock and revenue for the past four quarters and a summary\n",
"- A visualization and a brief summary of their earned versus actual earnings per share\n",
"- A visualization of Netflix stock against the Dow Jones stock (to get a sense of the market) in 2017\n",
"\n",
"Financial Data Source: [Yahoo Finance](https://finance.yahoo.com/quote/DATA/)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Step 1\n",
"\n",
"Let's get our notebook ready for visualizing! Import the modules that you'll be using in this project:\n",
"- `from matplotlib import pyplot as plt`\n",
"- `import pandas as pd`\n",
"- `import seaborn as sns`"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from matplotlib import pyplot as plt\n",
"import pandas as pd\n",
"import seaborn as sns"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Step 2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's load the datasets and inspect them."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Load **NFLX.csv** into a DataFrame called `netflix_stocks`. Then, quickly inspect the DataFrame using `print()`.\n",
"\n",
"Hint: Use the `pd.read_csv()`function).\n",
"\n",
"Note: In the Yahoo Data, `Adj Close` represents the adjusted close price adjusted for both dividends and splits. This means this is the true closing stock price for a given business day."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Date Open High Low Close Adj Close \\\n",
"0 2017-01-01 124.959999 143.460007 124.309998 140.710007 140.710007 \n",
"1 2017-02-01 141.199997 145.949997 139.050003 142.130005 142.130005 \n",
"2 2017-03-01 142.839996 148.289993 138.259995 147.809998 147.809998 \n",
"3 2017-04-01 146.699997 153.520004 138.660004 152.199997 152.199997 \n",
"4 2017-05-01 151.910004 164.750000 151.610001 163.070007 163.070007 \n",
"5 2017-06-01 163.520004 166.869995 147.300003 149.410004 149.410004 \n",
"6 2017-07-01 149.800003 191.500000 144.250000 181.660004 181.660004 \n",
"7 2017-08-01 182.490005 184.619995 164.229996 174.710007 174.710007 \n",
"8 2017-09-01 175.550003 189.949997 172.440002 181.350006 181.350006 \n",
"9 2017-10-01 182.110001 204.380005 176.580002 196.429993 196.429993 \n",
"10 2017-11-01 197.240005 202.479996 184.320007 195.509995 195.509995 \n",
"11 2017-12-01 186.990005 194.490005 178.380005 191.960007 191.960007 \n",
"\n",
" Volume \n",
"0 181772200 \n",
"1 91432000 \n",
"2 110692700 \n",
"3 149769200 \n",
"4 116795800 \n",
"5 135675800 \n",
"6 185144700 \n",
"7 136523100 \n",
"8 111427900 \n",
"9 208657800 \n",
"10 161719700 \n",
"11 115103700 \n"
]
}
],
"source": [
"netflix_stocks = pd.read_csv(\"NFLX.csv\")\n",
"print(netflix_stocks)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Load **DJI.csv** into a DataFrame called `dowjones_stocks`. Then, quickly inspect the DataFrame using `print()`.\n",
"\n",
"Note: You can learn more about why the Dow Jones Industrial Average is a industry reflection of the larger stock market [here](https://www.investopedia.com/terms/d/djia.asp). \n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Date Open High Low Close \\\n",
"0 2017-01-01 19872.859375 20125.580078 19677.939453 19864.089844 \n",
"1 2017-02-01 19923.810547 20851.330078 19831.089844 20812.240234 \n",
"2 2017-03-01 20957.289063 21169.109375 20412.800781 20663.220703 \n",
"3 2017-04-01 20665.169922 21070.900391 20379.550781 20940.509766 \n",
"4 2017-05-01 20962.730469 21112.320313 20553.449219 21008.650391 \n",
"5 2017-06-01 21030.550781 21535.029297 20994.220703 21349.630859 \n",
"6 2017-07-01 21392.300781 21929.800781 21279.300781 21891.119141 \n",
"7 2017-08-01 21961.419922 22179.109375 21600.339844 21948.099609 \n",
"8 2017-09-01 21981.769531 22419.509766 21709.630859 22405.089844 \n",
"9 2017-10-01 22423.470703 23485.250000 22416.000000 23377.240234 \n",
"10 2017-11-01 23442.900391 24327.820313 23242.750000 24272.349609 \n",
"11 2017-12-01 24305.400391 24876.070313 23921.900391 24719.220703 \n",
"\n",
" Adj Close Volume \n",
"0 19864.089844 6482450000 \n",
"1 20812.240234 6185580000 \n",
"2 20663.220703 6941970000 \n",
"3 20940.509766 5392630000 \n",
"4 21008.650391 6613570000 \n",
"5 21349.630859 7214590000 \n",
"6 21891.119141 5569720000 \n",
"7 21948.099609 6150060000 \n",
"8 22405.089844 6342130000 \n",
"9 23377.240234 7302910000 \n",
"10 24272.349609 7335640000 \n",
"11 24719.220703 6589890000 \n"
]
}
],
"source": [
"dowjones_stocks = pd.read_csv(\"DJI.csv\")\n",
"print(dowjones_stocks)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Load **NFLX_daily_by_quarter.csv** into a DataFrame called `netflix_stocks_quarterly`. Then, quickly inspect the DataFrame using `print()`.\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Date Open High Low Close Adj Close \\\n",
"0 2017-01-03 124.959999 128.190002 124.309998 127.489998 127.489998 \n",
"1 2017-01-04 127.489998 130.169998 126.550003 129.410004 129.410004 \n",
"2 2017-01-05 129.220001 132.750000 128.899994 131.809998 131.809998 \n",
"3 2017-01-06 132.080002 133.880005 129.809998 131.070007 131.070007 \n",
"4 2017-01-09 131.479996 131.990005 129.889999 130.949997 130.949997 \n",
".. ... ... ... ... ... ... \n",
"246 2017-12-22 188.330002 190.949997 186.800003 189.940002 189.940002 \n",
"247 2017-12-26 189.779999 189.940002 186.399994 187.759995 187.759995 \n",
"248 2017-12-27 187.800003 188.100006 185.220001 186.240005 186.240005 \n",
"249 2017-12-28 187.179993 194.490005 186.850006 192.710007 192.710007 \n",
"250 2017-12-29 192.509995 193.949997 191.220001 191.960007 191.960007 \n",
"\n",
" Volume Quarter \n",
"0 9437900 Q1 \n",
"1 7843600 Q1 \n",
"2 10185500 Q1 \n",
"3 10657900 Q1 \n",
"4 5766900 Q1 \n",
".. ... ... \n",
"246 3878900 Q4 \n",
"247 3045700 Q4 \n",
"248 4002100 Q4 \n",
"249 10107400 Q4 \n",
"250 5187600 Q4 \n",
"\n",
"[251 rows x 8 columns]\n"
]
}
],
"source": [
"netflix_stocks_quarterly = pd.read_csv(\"NFLX_daily_by_quarter.csv\")\n",
"print(netflix_stocks_quarterly)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Step 3"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's learn more about our data. The datasets are large and it may be easier to view the entire dataset locally on your computer. Open the CSV files directly from the folder you downloaded for this project.\n",
" - `NFLX` is the stock ticker symbol for Netflix and `^DJI` is the stock ticker symbol for the Dow Jones industrial Average, which is why the CSV files are named accordingly\n",
" - In the Yahoo Data, `Adj Close` is documented as adjusted close price adjusted for both dividends and splits.\n",
" - You can learn more about why the Dow Jones Industrial Average is a industry reflection of the larger stock market [here](https://www.investopedia.com/terms/d/djia.asp). \n",
" \n",
"Answer the following questions by inspecting the data in the **NFLX.csv**,**DJI.csv**, and **NFLX_daily_by_quarter.csv** in your computer."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What year is represented in the data? Look out for the latest and earliest date."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#The earliest date represented in both NFLX.csv and DJI.csv is January 1st, 2017. \n",
"#The latest date in NFLX_daily_by_quarter is December 29th, 2017"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"+ Is the data represented by days, weeks, or months? \n",
"+ In which ways are the files different? \n",
"+ What's different about the columns for `netflix_stocks` versus `netflix_stocks_quarterly`?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#NFLX.csv and DJI.csv have rows for the first day of each month, from January to December.\n",
"#NFLX_daily_by_quarter.csv has rows for several days in each month.\n",
"\n",
"#All files have different values in each column.\n",
"\n",
"#NFLX.csv has seven columns whereas NFLX_daily_by_quarter.csv has an eighth column, \"Quarter\", \n",
"#that shows which quarter of the year the row takes place in. In addition, NFLX_daily_by_quarter.csv\n",
"#has entries for many days in each month, while NFLX.csv only has one entry for each month.\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Step 4\n",
"\n",
"Great! Now that we have spent sometime looking at the data, let's look at the column names of the DataFrame `netflix_stocks` using `.head()`. "
]
},
{
"cell_type": "code",
"execution_count": 7,
"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>Date</th>\n",
" <th>Open</th>\n",
" <th>High</th>\n",
" <th>Low</th>\n",
" <th>Close</th>\n",
" <th>Adj Close</th>\n",
" <th>Volume</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2017-01-01</td>\n",
" <td>124.959999</td>\n",
" <td>143.460007</td>\n",
" <td>124.309998</td>\n",
" <td>140.710007</td>\n",
" <td>140.710007</td>\n",
" <td>181772200</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2017-02-01</td>\n",
" <td>141.199997</td>\n",
" <td>145.949997</td>\n",
" <td>139.050003</td>\n",
" <td>142.130005</td>\n",
" <td>142.130005</td>\n",
" <td>91432000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2017-03-01</td>\n",
" <td>142.839996</td>\n",
" <td>148.289993</td>\n",
" <td>138.259995</td>\n",
" <td>147.809998</td>\n",
" <td>147.809998</td>\n",
" <td>110692700</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2017-04-01</td>\n",
" <td>146.699997</td>\n",
" <td>153.520004</td>\n",
" <td>138.660004</td>\n",
" <td>152.199997</td>\n",
" <td>152.199997</td>\n",
" <td>149769200</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2017-05-01</td>\n",
" <td>151.910004</td>\n",
" <td>164.750000</td>\n",
" <td>151.610001</td>\n",
" <td>163.070007</td>\n",
" <td>163.070007</td>\n",
" <td>116795800</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Date Open High Low Close Adj Close \\\n",
"0 2017-01-01 124.959999 143.460007 124.309998 140.710007 140.710007 \n",
"1 2017-02-01 141.199997 145.949997 139.050003 142.130005 142.130005 \n",
"2 2017-03-01 142.839996 148.289993 138.259995 147.809998 147.809998 \n",
"3 2017-04-01 146.699997 153.520004 138.660004 152.199997 152.199997 \n",
"4 2017-05-01 151.910004 164.750000 151.610001 163.070007 163.070007 \n",
"\n",
" Volume \n",
"0 181772200 \n",
"1 91432000 \n",
"2 110692700 \n",
"3 149769200 \n",
"4 116795800 "
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"netflix_stocks.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What do you notice? The first two column names are one word each, and the only one that is not is `Adj Close`! \n",
"\n",
"The term `Adj Close` is a confusing term if you don't read the Yahoo Documentation. In Yahoo, `Adj Close` is documented as adjusted close price adjusted for both dividends and splits.\n",
"\n",
"This means this is the column with the true closing price, so these data are very important.\n",
"\n",
"Use Pandas to change the name of of the column to `Adj Close` to `Price` so that it is easier to work with the data. Remember to use `inplace=True`.\n",
"\n",
"Do this for the Dow Jones and Netflix Quarterly pandas dataframes as well.\n",
"Hint: Use [`.rename()`](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.rename.html)).\n"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Date Open High Low Close Price \\\n",
"0 2017-01-01 124.959999 143.460007 124.309998 140.710007 140.710007 \n",
"1 2017-02-01 141.199997 145.949997 139.050003 142.130005 142.130005 \n",
"2 2017-03-01 142.839996 148.289993 138.259995 147.809998 147.809998 \n",
"3 2017-04-01 146.699997 153.520004 138.660004 152.199997 152.199997 \n",
"4 2017-05-01 151.910004 164.750000 151.610001 163.070007 163.070007 \n",
"5 2017-06-01 163.520004 166.869995 147.300003 149.410004 149.410004 \n",
"6 2017-07-01 149.800003 191.500000 144.250000 181.660004 181.660004 \n",
"7 2017-08-01 182.490005 184.619995 164.229996 174.710007 174.710007 \n",
"8 2017-09-01 175.550003 189.949997 172.440002 181.350006 181.350006 \n",
"9 2017-10-01 182.110001 204.380005 176.580002 196.429993 196.429993 \n",
"10 2017-11-01 197.240005 202.479996 184.320007 195.509995 195.509995 \n",
"11 2017-12-01 186.990005 194.490005 178.380005 191.960007 191.960007 \n",
"\n",
" Volume \n",
"0 181772200 \n",
"1 91432000 \n",
"2 110692700 \n",
"3 149769200 \n",
"4 116795800 \n",
"5 135675800 \n",
"6 185144700 \n",
"7 136523100 \n",
"8 111427900 \n",
"9 208657800 \n",
"10 161719700 \n",
"11 115103700 \n",
" Date Open High Low Close \\\n",
"0 2017-01-01 19872.859375 20125.580078 19677.939453 19864.089844 \n",
"1 2017-02-01 19923.810547 20851.330078 19831.089844 20812.240234 \n",
"2 2017-03-01 20957.289063 21169.109375 20412.800781 20663.220703 \n",
"3 2017-04-01 20665.169922 21070.900391 20379.550781 20940.509766 \n",
"4 2017-05-01 20962.730469 21112.320313 20553.449219 21008.650391 \n",
"5 2017-06-01 21030.550781 21535.029297 20994.220703 21349.630859 \n",
"6 2017-07-01 21392.300781 21929.800781 21279.300781 21891.119141 \n",
"7 2017-08-01 21961.419922 22179.109375 21600.339844 21948.099609 \n",
"8 2017-09-01 21981.769531 22419.509766 21709.630859 22405.089844 \n",
"9 2017-10-01 22423.470703 23485.250000 22416.000000 23377.240234 \n",
"10 2017-11-01 23442.900391 24327.820313 23242.750000 24272.349609 \n",
"11 2017-12-01 24305.400391 24876.070313 23921.900391 24719.220703 \n",
"\n",
" Price Volume \n",
"0 19864.089844 6482450000 \n",
"1 20812.240234 6185580000 \n",
"2 20663.220703 6941970000 \n",
"3 20940.509766 5392630000 \n",
"4 21008.650391 6613570000 \n",
"5 21349.630859 7214590000 \n",
"6 21891.119141 5569720000 \n",
"7 21948.099609 6150060000 \n",
"8 22405.089844 6342130000 \n",
"9 23377.240234 7302910000 \n",
"10 24272.349609 7335640000 \n",
"11 24719.220703 6589890000 \n",
" Date Open High Low Close Price \\\n",
"0 2017-01-03 124.959999 128.190002 124.309998 127.489998 127.489998 \n",
"1 2017-01-04 127.489998 130.169998 126.550003 129.410004 129.410004 \n",
"2 2017-01-05 129.220001 132.750000 128.899994 131.809998 131.809998 \n",
"3 2017-01-06 132.080002 133.880005 129.809998 131.070007 131.070007 \n",
"4 2017-01-09 131.479996 131.990005 129.889999 130.949997 130.949997 \n",
".. ... ... ... ... ... ... \n",
"246 2017-12-22 188.330002 190.949997 186.800003 189.940002 189.940002 \n",
"247 2017-12-26 189.779999 189.940002 186.399994 187.759995 187.759995 \n",
"248 2017-12-27 187.800003 188.100006 185.220001 186.240005 186.240005 \n",
"249 2017-12-28 187.179993 194.490005 186.850006 192.710007 192.710007 \n",
"250 2017-12-29 192.509995 193.949997 191.220001 191.960007 191.960007 \n",
"\n",
" Volume Quarter \n",
"0 9437900 Q1 \n",
"1 7843600 Q1 \n",
"2 10185500 Q1 \n",
"3 10657900 Q1 \n",
"4 5766900 Q1 \n",
".. ... ... \n",
"246 3878900 Q4 \n",
"247 3045700 Q4 \n",
"248 4002100 Q4 \n",
"249 10107400 Q4 \n",
"250 5187600 Q4 \n",
"\n",
"[251 rows x 8 columns]\n"
]
}
],
"source": [
"netflix_stocks.rename(columns = {\"Adj Close\": \"Price\"}, inplace=True)\n",
"print(netflix_stocks)\n",
"dowjones_stocks.rename(columns = {\"Adj Close\": \"Price\"}, inplace=True)\n",
"print(dowjones_stocks)\n",
"netflix_stocks_quarterly.rename(columns = {\"Adj Close\": \"Price\"}, inplace=True)\n",
"print(netflix_stocks_quarterly)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Run `netflix_stocks.head()` again to check your column name has changed."
]
},
{
"cell_type": "code",
"execution_count": 17,
"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>Date</th>\n",
" <th>Open</th>\n",
" <th>High</th>\n",
" <th>Low</th>\n",
" <th>Close</th>\n",
" <th>Price</th>\n",
" <th>Volume</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2017-01-01</td>\n",
" <td>124.959999</td>\n",
" <td>143.460007</td>\n",
" <td>124.309998</td>\n",
" <td>140.710007</td>\n",
" <td>140.710007</td>\n",
" <td>181772200</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2017-02-01</td>\n",
" <td>141.199997</td>\n",
" <td>145.949997</td>\n",
" <td>139.050003</td>\n",
" <td>142.130005</td>\n",
" <td>142.130005</td>\n",
" <td>91432000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2017-03-01</td>\n",
" <td>142.839996</td>\n",
" <td>148.289993</td>\n",
" <td>138.259995</td>\n",
" <td>147.809998</td>\n",
" <td>147.809998</td>\n",
" <td>110692700</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2017-04-01</td>\n",
" <td>146.699997</td>\n",
" <td>153.520004</td>\n",
" <td>138.660004</td>\n",
" <td>152.199997</td>\n",
" <td>152.199997</td>\n",
" <td>149769200</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2017-05-01</td>\n",
" <td>151.910004</td>\n",
" <td>164.750000</td>\n",
" <td>151.610001</td>\n",
" <td>163.070007</td>\n",
" <td>163.070007</td>\n",
" <td>116795800</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Date Open High Low Close Price \\\n",
"0 2017-01-01 124.959999 143.460007 124.309998 140.710007 140.710007 \n",
"1 2017-02-01 141.199997 145.949997 139.050003 142.130005 142.130005 \n",
"2 2017-03-01 142.839996 148.289993 138.259995 147.809998 147.809998 \n",
"3 2017-04-01 146.699997 153.520004 138.660004 152.199997 152.199997 \n",
"4 2017-05-01 151.910004 164.750000 151.610001 163.070007 163.070007 \n",
"\n",
" Volume \n",
"0 181772200 \n",
"1 91432000 \n",
"2 110692700 \n",
"3 149769200 \n",
"4 116795800 "
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"netflix_stocks.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Call `.head()` on the DataFrame `dowjones_stocks` and `netflix_stocks_quarterly`."
]
},
{
"cell_type": "code",
"execution_count": 20,
"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>Date</th>\n",
" <th>Open</th>\n",
" <th>High</th>\n",
" <th>Low</th>\n",
" <th>Close</th>\n",
" <th>Price</th>\n",
" <th>Volume</th>\n",
" <th>Quarter</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2017-01-03</td>\n",
" <td>124.959999</td>\n",
" <td>128.190002</td>\n",
" <td>124.309998</td>\n",
" <td>127.489998</td>\n",
" <td>127.489998</td>\n",
" <td>9437900</td>\n",
" <td>Q1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2017-01-04</td>\n",
" <td>127.489998</td>\n",
" <td>130.169998</td>\n",
" <td>126.550003</td>\n",
" <td>129.410004</td>\n",
" <td>129.410004</td>\n",
" <td>7843600</td>\n",
" <td>Q1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2017-01-05</td>\n",
" <td>129.220001</td>\n",
" <td>132.750000</td>\n",
" <td>128.899994</td>\n",
" <td>131.809998</td>\n",
" <td>131.809998</td>\n",
" <td>10185500</td>\n",
" <td>Q1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2017-01-06</td>\n",
" <td>132.080002</td>\n",
" <td>133.880005</td>\n",
" <td>129.809998</td>\n",
" <td>131.070007</td>\n",
" <td>131.070007</td>\n",
" <td>10657900</td>\n",
" <td>Q1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2017-01-09</td>\n",
" <td>131.479996</td>\n",
" <td>131.990005</td>\n",
" <td>129.889999</td>\n",
" <td>130.949997</td>\n",
" <td>130.949997</td>\n",
" <td>5766900</td>\n",
" <td>Q1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Date Open High Low Close Price \\\n",
"0 2017-01-03 124.959999 128.190002 124.309998 127.489998 127.489998 \n",
"1 2017-01-04 127.489998 130.169998 126.550003 129.410004 129.410004 \n",
"2 2017-01-05 129.220001 132.750000 128.899994 131.809998 131.809998 \n",
"3 2017-01-06 132.080002 133.880005 129.809998 131.070007 131.070007 \n",
"4 2017-01-09 131.479996 131.990005 129.889999 130.949997 130.949997 \n",
"\n",
" Volume Quarter \n",
"0 9437900 Q1 \n",
"1 7843600 Q1 \n",
"2 10185500 Q1 \n",
"3 10657900 Q1 \n",
"4 5766900 Q1 "
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dowjones_stocks.head()\n",
"netflix_stocks_quarterly.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Step 5\n",
"\n",
"In this step, we will be visualizing the Netflix quarterly data! \n",
"\n",
"We want to get an understanding of the distribution of the Netflix quarterly stock prices for 2017. Specifically, we want to see in which quarter stock prices flucutated the most. We can accomplish this using a violin plot with four violins, one for each business quarter!\n",
"\n",
"\n",
"1. Start by creating a variable `ax` and setting it equal to `sns.violinplot()`. This will instantiate a figure and give us access to the axes through the variable name `ax`.\n",
"2. Use `sns.violinplot()` and pass in the following arguments:\n",
"+ The `Quarter` column as the `x` values\n",
"+ The `Price` column as your `y` values\n",
"+ The `netflix_stocks_quarterly` dataframe as your `data`\n",
"3. Improve the readability of the chart by adding a title of the plot. Add `\"Distribution of 2017 Netflix Stock Prices by Quarter\"` by using `ax.set_title()`\n",
"4. Change your `ylabel` to \"Closing Stock Price\"\n",
"5. Change your `xlabel` to \"Business Quarters in 2017\"\n",
"6. Be sure to show your plot!\n"
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ax = sns.violinplot(x = \"Quarter\", y = \"Price\", data = netflix_stocks_quarterly, style = \"ticks\")\n",
"ax.set_title(\"Distribution of 2017 Netflix Stock Prices by Quarter\")\n",
"ax.set_xlabel(\"Business Quarters in 2017\")\n",
"plt.xlabel(\"Business Quarters in 2017\")\n",
"ax.set_ylabel(\"Closing Stock Price\")\n",
"plt.ylabel(\"Closing Stock Price\")\n",
"plt.savefig(\"Netflix_Stock_Violinplot.png\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Graph Literacy\n",
"- What are your first impressions looking at the visualized data?\n",
"\n",
"- In what range(s) did most of the prices fall throughout the year?\n",
"\n",
"- What were the highest and lowest prices? "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#The range of price for Q3 is the widest of all four quarters.\n",
"\n",
"#All prices, by quarter: Q1, 125 to 150: Q2, 140 to 170: Q3, 140 to 200: Q4, 180 to 210.\n",
"#Majority of prices, by quarter: Q1, around 140: Q2, around 150: Q3, around 180: Q4, around 190.\n",
"\n",
"#Lowest price overall was about 125 in Q1, highest price overall was about 210 in Q4."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Step 6\n",
"\n",
"Next, we will chart the performance of the earnings per share (EPS) by graphing the estimate Yahoo projected for the Quarter compared to the actual earnings for that quarters. We will accomplish this using a scatter chart. \n",
"\n",
"1. Plot the actual EPS by using `x_positions` and `earnings_actual` with the `plt.scatter()` function. Assign `red` as the color.\n",
"2. Plot the actual EPS by using `x_positions` and `earnings_estimate` with the `plt.scatter()` function. Assign `blue` as the color\n",
"\n",
"3. Often, estimates and actual EPS are the same. To account for this, be sure to set your transparency `alpha=0.5` to allow for visibility pf overlapping datapoint.\n",
"4. Add a legend by using `plt.legend()` and passing in a list with two strings `[\"Actual\", \"Estimate\"]`\n",
"\n",
"5. Change the `x_ticks` label to reflect each quarter by using `plt.xticks(x_positions, chart_labels)`\n",
"6. Assing \"`\"Earnings Per Share in Cents\"` as the title of your plot.\n"
]
},
{
"cell_type": "code",
"execution_count": 95,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x_positions = [1, 2, 3, 4]\n",
"chart_labels = [\"1Q2017\",\"2Q2017\",\"3Q2017\",\"4Q2017\"]\n",
"earnings_actual =[.4, .15,.29,.41]\n",
"earnings_estimate = [.37,.15,.32,.41 ]\n",
"\n",
"fig, ax = plt.subplots(1, 1)\n",
"plt.scatter(x = x_positions, y = earnings_actual, color = \"red\", alpha = 0.5)\n",
"plt.scatter(x = x_positions, y = earnings_actual, color = \"blue\", alpha = 0.5)\n",
"plt.legend([\"Actual\", \"Estimate\"])\n",
"plt.xticks(x_positions, chart_labels)\n",
"ax.set_title(\"Earnings Per Share in Cents\")\n",
"plt.savefig(\"Estimate_VS_Actual_EPS.png\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"## Graph Literacy\n",
"\n",
"+ What do the purple dots tell us about the actual and estimate earnings per share in this graph? Hint: In color theory red and blue mix to make purple.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#They show us that the actual and estimate earnings are the same values."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Step 7"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Next, we will visualize the earnings and revenue reported by Netflix by mapping two bars side-by-side. We have visualized a similar chart in the second Matplotlib lesson [Exercise 4](https://www.codecademy.com/courses/learn-matplotlib/lessons/matplotlib-ii/exercises/side-by-side-bars).\n",
"\n",
"As you may recall, plotting side-by-side bars in Matplotlib requires computing the width of each bar before hand. We have pasted the starter code for that exercise below. \n",
"\n",
"1. Fill in the `n`, `t`, `d`, `w` values for the revenue bars\n",
"2. Plot the revenue bars by calling `plt.bar()` with the newly computed `x_values` and the `revenue_by_quarter` data\n",
"3. Fill in the `n`, `t`, `d`, `w` values for the earnings bars\n",
"4. Plot the revenue bars by calling `plt.bar()` with the newly computed `x_values` and the `earnings_by_quarter` data\n",
"5. Create a legend for your bar chart with the `labels` provided\n",
"6. Add a descriptive title for your chart with `plt.title()`\n",
"7. Add labels to each quarter by assigning the position of the ticks through the code provided. Hint: `plt.xticks(middle_x, quarter_labels)`\n",
"8. Be sure to show your plot!\n"
]
},
{
"cell_type": "code",
"execution_count": 96,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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cccdHcw7SRI77rij72zMXuP6VEAHHMy7yOVmZn0uoJuZWdf0qTb0cqNO/2VD1/foOUfVTDNgwAD23XdfNmzYwOjRo7n88ssZOnRoQ/NhZtYd+nRA7w1bbbUVCxYsAOCEE07goosu4utfL/+PZGbWnzW6sthZ9VQuu8JNLh045JBDeOyx9O8LH374YSZPnswBBxzA29/+dh544AFWr17N7rvvzssvp/+a9vzzzzNy5EjWr19fMT3A9OnTmTlzJm95y1vYY489mDMn/RP02267jaOPPnrjtk8++WQuueQSAObPn8873vEODjjgAI444ghWrKj2z8vN7LXMAb2Kl156iVtuuYUpU6YAMGPGDC644ALmz5/Peeedx0knncSQIUMYN24cv/1t+l+78+bN44gjjmDQoEEV07dbsWIFd9xxB/PmzeP000/vMB/r16/n85//PHPmzGH+/Pl88pOf9B2DmVXkJpcyL7zwAuPGjeOxxx5jr7324vDDD6etrY0//OEPHHfccRvTrVu3DoAPf/jDXH311Rx22GH87Gc/46STTuowPcDUqVPZYost2HvvvXniiSc6zM+DDz7I4sWLOfzww4F0oRk+fHgjd9nMCsIBvUx7G/qaNWs44ogjuOiii5g+fTpDhw7d2LZeasqUKXzta19j1apVzJ8/n3e+8508//zzVdMDDB48eOPn9n8wMnDgwI1NN8DGPuURwZgxY/jjH//YuJ00s0Jyk0sVW2+9NbNmzeLf//3f2XrrrRk9ejTXXHMNkILswoULAdh2222ZOHEiX/jCFzj66KMZMGAA22+/fdX01ey+++7cf//9rFu3jmeeeYZbbrkFgD333JPW1taNAX39+vXcd9993bXbZtaP9ekaenc9Ca7X+PHjGTt2LFdddRVXXHEFJ554It/+9rdZv34906ZNY7/99gNSs8txxx3HbbfdtnHZjtJXMnLkSD70oQ+xzz77MHr0aMaPHw/AlltuyZw5c5g5cyarV69mw4YNnHLKKYwZM6Zb993M+p9e+5+iEyZMiPJ/cLFkyRL22muvXslPEbj8zOrTn7stSpofERMqzavZ5CKpSdJdkhZKuk/SWRXSTJfUKmlBHj7d5dyamVmX1NPksg54Z0S0SRoE3CHpxoj4U1m6qyPi5MZn0czM6lEzoEdqk2nLo4Py0DvtNGZmVlVdvVwkDZC0AHgS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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# The metrics below are in billions of dollars\n",
"revenue_by_quarter = [2.79, 2.98,3.29,3.7]\n",
"earnings_by_quarter = [.0656,.12959,.18552,.29012]\n",
"quarter_labels = [\"2Q2017\",\"3Q2017\",\"4Q2017\", \"1Q2018\"]\n",
"\n",
"# Revenue\n",
"n = revenue_by_quarter\n",
"t = 2\n",
"d = 4\n",
"w = 0.25\n",
"#bars1_x = [t*element + w*n for element in range(d)] ORIGINAL CODE\n",
"bars1_x = [t*element + w*n[element] for element in range(d)]\n",
"#bars1_x = [t*i + w*element for i, element in enumerate(revenue_by_quarter)]\n",
"plt.bar(bars1_x, n)\n",
"\n",
"\n",
"# Earnings\n",
"n = earnings_by_quarter\n",
"t = 2\n",
"d = 4\n",
"w = 0.25\n",
"#bars2_x = [t*element + w*n for element in range(d)] ORIGINAL CODE\n",
"bars2_x = [t*element + w*n[element] for element in range(d)]\n",
"#bars2_x = [t*i + w*element for i, element in enumerate(earnings_by_quarter)]\n",
"plt.bar(bars2_x, earnings_by_quarter)\n",
"\n",
"\n",
"\n",
"\n",
"middle_x = [ (a + b) / 2.0 for a, b in zip(bars1_x, bars2_x)]\n",
"labels = [\"Revenue\", \"Earnings\"]\n",
"plt.legend([\"Revenue\", \"Earnings\"])\n",
"plt.title(\"Revenue VS Earnings For Netflix (2Q2017 to 1Q2018)\")\n",
"plt.xticks(middle_x, quarter_labels)\n",
"plt.savefig(\"Revenue_Against_Earnings_Netflix.png\")\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Graph Literacy\n",
"What are your first impressions looking at the visualized data?\n",
"\n",
"- Does Revenue follow a trend?\n",
"- Do Earnings follow a trend?\n",
"- Roughly, what percentage of the revenue constitutes earnings?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#Revenue follows an upward trend as the year progresses.\n",
"\n",
"#Earnings follows a similar trend to Revenue.\n",
"\n",
"#About 10% or less of the revenue constitutes earnings."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Step 8\n",
"\n",
"In this last step, we will compare Netflix stock to the Dow Jones Industrial Average in 2017. We will accomplish this by plotting two line charts side by side in one figure. \n",
"\n",
"Since `Price` which is the most relevant data is in the Y axis, let's map our subplots to align vertically side by side.\n",
"- We have set up the code for you on line 1 in the cell below. Complete the figure by passing the following arguments to `plt.subplots()` for the first plot, and tweaking the third argument for the second plot\n",
" - `1`-- the number of rows for the subplots\n",
" - `2` -- the number of columns for the subplots\n",
" - `1` -- the subplot you are modifying\n",
"\n",
"- Chart the Netflix Stock Prices in the left-hand subplot. Using your data frame, access the `Date` and `Price` charts as the x and y axes respectively. Hint: (`netflix_stocks['Date'], netflix_stocks['Price']`)\n",
"- Assign \"Netflix\" as a title to this subplot. Hint: `ax1.set_title()`\n",
"- For each subplot, `set_xlabel` to `\"Date\"` and `set_ylabel` to `\"Stock Price\"`\n",
"- Chart the Dow Jones Stock Prices in the left-hand subplot. Using your data frame, access the `Date` and `Price` charts as the x and y axes respectively. Hint: (`dowjones_stocks['Date'], dowjones_stocks['Price']`)\n",
"- Assign \"Dow Jones\" as a title to this subplot. Hint: `plt.set_title()`\n",
"- There is some crowding in the Y axis labels, add some space by calling `plt.subplots_adjust(wspace=.5)`\n",
"- Be sure to `.show()` your plots.\n"
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZwAAAEWCAYAAABSaiGHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAABFH0lEQVR4nO3dd5xU1d348c93G22BpSy9LFIFBJQViRU11uhDYjSWxBZLTDTRxCSPJk9iojE9+mhMTDASNRrL8zOJxhICSrGBAQWk7dJhaTOwbGfrfH9/3DMwDNt32s5836/Xvnbm3DN3zszes997zz1FVBVjjDEm2tLiXQBjjDGpwQKOMcaYmLCAY4wxJiYs4BhjjIkJCzjGGGNiwgKOMcaYmLCAk2REZLyIrBSRchH5hog8JSI/cdvOEJGCeJfRGJOaLODEmYhsExGfiPQISbtZRBa14rWHg0mI7wILVbWnqj4aukFV31HV8REpuDHt5I75Q+6kqERE3heR20Qkqv+PRORHIvJsNN/DNM8CTmJIB+6M0L5GAmsjtC9jouVSVe2Jd7z+HPhv4Mn4FslEmwWcxPAr4NsikhO+QUQmiMh8ESkWkQIR+YJLvxX4IvBdEakQkX+KyNvA2cBjLm1c2L5miUiRezza7fMk93yIiPhFZFY0P6gxoVS1VFVfBa4ErheRyQAi0ltEnnHH5HYR+Z/gFZB7Pt09/qKIqIhMcs9vEpF/tOa9ReRUEfmPiJS636eGbFskIg+IyHvuSuzfItI/ZPtMd2VWIiKrQuuNiNwgIlvc67aKyBc7/EUlCQs4iWE5sAj4dmiia2abD/wVGABcBfxeRCaq6hzgOeCXqpqtqpeq6jnAO8AdLq2wqTdU1c14Z5XPikh34M/A06q6KOKfzpgWqOqHQBFwhkv6LdAbOA44C7gOuNFtWwzMco/PArYAZ4Y8X9zS+4lIX+B14FGgH/AQ8LqI9AvJdo17zwFAFq5+ishQ99qfAH1d+ssikuvq7KPARe4K7lRgZeu+heRnASdx/BD4uojkhqRdAmxT1T+rar2qfgy8DFwRiTdU1SeATcAyYDDw/Ujs15h22g30FZF0vJOre1W1XFW3Ab8BrnX5FuMFFvAC1M9Cnrcq4ACfATaq6l9c3Xoe2ABcGpLnz6paqKqHgJeAaS79S8AbqvqGqgZUdT7eSePFbnsAmCwi3VR1j6paE7djASdBqOoa4DXgnpDkkcAp7rK9RERK8JrRBkXwrZ8AJgO/VdWaCO7XmLYaChQD/YFMYHvItu1uO3gB5QwRGYx3//Ml4DQRycO7KlrZivcaErb/8PcA2BvyuArIdo9HAleE1cvTgcGqWonXPHgbsEdEXheRCa0oT0qwgJNY7gNu4chBvxNYrKo5IT/ZqvpVt71DU32LSDbwv3g3a3/kmhmMiTkRORnvuH8X2A/U4f1jDxoB7AJQ1U14AeDrwBJVLcMLDrcC76pqoBVvuTts/0e9Rwt2An8Jq5c9VPXnrnzzVPU8vFaDDXgndQYLOAnFVaQXgW+4pNeAcSJyrYhkup+TReR4t30fXht3ez0CLFfVm/HapP/QgX0Z02Yi0ktELgFeAJ5V1U9UtQHvquVBEekpIiOBbwGhXZoXA3dwpPlsUdjzlryBV7euEZEMEbkSmIhX51ryLHCpiFwgIuki0tV1yBkmIgNFZLa7l1MDVOA1sRks4CSi+4EeAKpaDpyP1569G+8s7hdAF5f3SWCiu6z/R1veRERmAxcCwaulbwEnWY8aEyP/FJFyvKuF7+PdtL8xZPvXgUq8DgHv4nWcmRuyfTHQE1jSxPOmKICqHsC7R3o3cABv/Nolqrq/pYKr6k5gNvA9wO8+w3fw/p+m4dWl3XjNg2dxpI6lPLEF2IwxqUBEHgLSVPWueJclVdkVjjEm6bkxbhfg9SYzcWIBxxiT1Nw9os143f9finNxUpo1qRljjIkJu8IxxhgTExnxLkBH9O/fX/Py8uJdDJNgVqxYsV9Vc1vOmfysjpjGxKuOdOqAk5eXx/Lldg/QHE1EwkeQpyyrI6Yx8aoj1qRmjDEmJizgGGOMiQkLOMYYY2LCAo4xxpiYsIBjjDEmJizgGGOMiQkLOMYYY2LCAo6Jqnc2+vn7x0UUV9bGuyjGpJSn39/GogJfvItxlE498NMkNlXlG89/zMGqOkTgxOE5nHv8QM4eP4DjB/dEROJdRGOS0mZ/BT95fR2XThnCrPED4l2cwyzgmKjZWXyIg1V13HLGKLpnZbCwwMev5hXwq3kFDO7dlbMnDODcCQM4dXR/umWlx7u4xiQFVeWHr6yha2Y69158fMsviCELOCZqVhWVADB72lAmD+3NN88bh6+smkUFft7asI9XPt7FX5ftoEtGGqeO7sc5EwbwmSlD6NsjK74FN6YTe231Ht7bdIAHZk8it2eXll8QQxZwTNSsLiohKyON8YN6Hk4b0KsrXzh5OF84eTg19Q38Z+tB3tqwj7c3+Fj4ylr+uGQLf//aaQlXUYzpDMqr63jgtXWcMLQ315wyMt7FOYZ1GjBRs6qolImDe5GZ3vhh1iUjndPH9ue+Syex6NuzePHWmRyoqOWmp/9DVW19jEtrTOf38PyN+Ctq+MlnJ5Oelnj3SC3gmKhoCChrdpUydVjvVuUXEU45rh+PXXMia3aVcsdfP6a+IRDlUhqTPNbtLuOp97dyzYwRTB2eE+/iNMoCjomKLf4KqmobmDIsp02vO/f4gdw/ezJvb/Dxw1fXYivSGtOyQED5wStr6NM9i+9eMCHexWmS3cMxUbGqqBSAqcNbd4UT6kszR7Kr5BCPL9rM0Jxu3H72mEgXz5ik8v9WFLFi+0F+dfkUenfPjHdxmmQBx0TF6qISsrtkcFz/7Ha9/jvnj2d3ySF+Na+AoTnd+OyJQyNcQmOSw8HKWn725npOzuvD508aFu/iNMsCjomKVUWlTB7ai7R23rhMSxN+efkU9pVV853/t4oBPbtw6pj+ES6lMZ3fL+cVUFZdzwOfndzu+hYrdg/HRFxtfYD1u8uY2sb7N+G6ZKTzx2vzGdW/B1/5ywoK9pZHpoDGJImPdhzkhf/s4MZT85gwqFe8i9MiCzgm4gr2llPbEGhzh4HG9O6WyZ9vnEH3Lunc8OcP2Vta3fECGpME6hsC/OAfaxjQswt3nTcu3sVpFQs4JuKCMwxMaWWX6JYMzenG3BtOpuxQHTf8+UPKq+sisl9jOrNnl25n7e4yfnjJJLK7dI67IxZwTMStLiqhb48shvXpFrF9ThrSm8e/NJ2Nvgq+9txH1NkYHZPCfOXV/ObfhZwxtj8XnzAo3sVpNQs4JuJWF5UyZVjviM8Gfea4XH522Qm8s3E/97z8iY3RMSnrp6+vp6Y+wP2zJ3eqWdct4JiIqqqtp3BfeUTu3zTmC/nDufPcsbz8UREPL9gYlfcwJpG9v3k//1i5m9vOOo5R/XvEuzht0jka/kynsXZ3GQGl1VPatMddnx7L7pJDFO4tpyGgCTlnlDHRUFvvdRQY3rcbX+uEA6It4JiIWrWzBIATohhwRISfXnYCaSIWbExKefLdrWz2VzL3hny6Zna+NaQs4JiIWl1UyuDeXRnQs2tU36epGaiNSVa19QF+v2gTnz5+AOdMGBjv4rSL1VoTUauLSiLWHdoYc8R/thVTXl3PlSePiHdR2i1qAUdE5oqIT0TWhKRNFZEPROQTEfmniPQK2XaviGwSkQIRuSBa5TLRU1pVx7YDVVHrMGBMKpu/bh9dMtI4vRNP8RTNK5yngAvD0v4E3KOqJwB/B74DICITgauASe41vxeRztdAmeJW7yoB6PCUNsaYo6kqC9bv44yx/emW1Xn/NUYt4KjqEqA4LHkcsMQ9ng983j2eDbygqjWquhXYBMyIVtlMdKx2SxJEs8OAMamocF8FRQcPce7xnfPeTVCs7+GsxQsuAFcAw93jocDOkHxFLu0YInKriCwXkeV+vz9qBTVtt2pnCaP696B3t8Rdj8OYzmjB+n0AnDthQJxL0jGxDjhfBr4mIiuAnkBtW3egqnNUNV9V83NzcyNeQNN+wRkGjDGRNX/dPqYOz2FAr+j2/oy2mAYcVd2gquer6nTgeWCz27SLI1c7AMNcmukkfGXV7C2rtg4DxkSYr7yalTtLOO/4zn11AzEOOCIywP1OA/4H+IPb9CpwlYh0EZFRwFjgw1iWzXTM4SWlU/QKR0SGi8hCEVknImtF5M6w7XeLiIpIf/dcRORR1zNztYicFJL3ehHZ6H6uD0mf7np4bnKvtVGvKWDhBh9Ap79/A9HtFv088AEwXkSKROQm4GoRKQQ2ALuBPwOo6lrgJWAd8C/gdlVtiFbZTOStLiohPU2YNCQ1Aw5QD9ytqhOBmcDtrvclIjIcOB/YEZL/IrwTq7HArcDjLm9f4D7gFLyOM/eJSB/3mseBW0JeF94L1CSh+et8DM3pxoRBPeNdlA6L2kwDqnp1E5seaSL/g8CD0SqPia5VRaWMHZDdqbtsdoSq7gH2uMflIrIer+PLOuBh4LvAKyEvmQ08o96U10tFJEdEBgOzgPmqWgwgIvOBC0VkEdBLVZe69GeAzwJvRv/TmXg5VNvAu5v8XHXyiE41K3RTbKYB02GqyuqiEht/44hIHnAisExEZgO7VHVVWLamemY2l17USLpJYu9t2k91XYBPJ0FzGthcaiYCdhYfoqSqjinDU7Y57TARyQZeBu7Ca2b7Hl5zWizLcCteMx0jRnTeaVAMvLVhHz27ZDBjVN94FyUi7ArHdFhwSelUv8IRkUy8YPOcqv4NGA2MAlaJyDa83pcficggmu6Z2Vz6sEbSj2FDB5JDIKAsWO/jzPG5ZGUkx7/q5PgUJq5WF5WQlZHG+CS4qdlersfYk8B6VX0IQFU/UdUBqpqnqnl4zWAnqepevJ6Z17neajOBUncfaB5wvoj0cZ0FzgfmuW1lIjLTvdd1HH1PyCSZ1btK8ZfXcF6SNKeBNamZCFhVVMrEwb1SfcmA04BrgU9EZKVL+56qvtFE/jeAi/GmcaoCbgRQ1WIReQD4j8t3f7ADAfA1vDkKu+F1FrAOA0lswbp9pKcJs8Ynz1WqBRzTIQ0BZe2uUi6fPqzlzElMVd8Fmu1G5K5ygo8VuL2JfHOBuY2kLwcmd6igptNYsH4f+SP7kNM9K95FiZiUPiU1HbfFX0FlbYPNMGBMBO0srmLD3nLOm5g8zWlgAcd00OEZBqyHmjER81Zwss4kun8DFnBMB60uKiG7SwbH9c+Od1GMSRoL1vsYMyCbUf17xLsoEWUBx3TIqqJSJg/tRVpa5x8FbUwiKKuuY9nWA5ybBJN1hrOAY9qttj7A+t1lKT/+xphIWlLop65Bk6o7dJAFHNNuBXvLqW0IWIcBYyJowbp99O2RxYkj+rScuZOxgGPaLTjDgC26Zkxk1DcEWFjg55wJA0hPwmZqCzim3VYXldC3RxbD+nSLd1GMSQrLtx+k9FAdn07C+zdgAcd0QHBJ6WSYNt2YRLBg3T6y0tM4Y2zyzC4QygKOaZeq2noK95UzZag1pxkTCarK/PX7OHVMP3p0Sc5JYCzgmHZZu7uMgGIdBoyJkM3+CrYfqEqatW8aYwHHtMuqnSUAtgaOMRGyYL0PICnH3wRZwDHtsrqolMG9uzKgZ9d4F8WYpLBg3T4mD+3F4N7J2wnHAo5pl9VFJdYd2pgIOVBRw4odB5O6OQ0s4Jh2KK2qY9uBKrt/Y0yEvL3BhyoWcIwJt3pXCWBLShsTKW+t9zG4d1cmDekV76JElQWcJFZT3xCV/a52SxKcYE1qxnRYdV0DSzb6Off4AUk/ps0CTpKqrmvg5J8s4C8fbIv4vlftLGFU/x707pYZ8X0bk2o+2HKAqtqGpG9OAws4SWtPaTVl1fX8ftFm6hoCEdtvfUOAj3ZYhwFjImXBun30yErnU6P7xbsoUWcBJ0n5yqoBL/C88cmeiO33tdV72F9Rw6VThkRsn8akKlXl7Q0+zhyXS5eM9HgXJ+qiFnBEZK6I+ERkTUjaNBFZKiIrRWS5iMxw6SIij4rIJhFZLSInRatcqcJfUQNAzy4ZPPHOFlS1w/sMBJTHF21m/MCenDMheQenGRMrBfvK2VNazdnjU6M+RfMK5yngwrC0XwI/VtVpwA/dc4CLgLHu51bg8SiWKyX4yryAc9us0azZVcayrcUd3ufCAh8F+8q5bdZxtsKnMRGwuMAPwJnjknOyznBRCziqugQI/y+nQLDfX29gt3s8G3hGPUuBHBEZHK2ypQJfeQ1Z6Wl8+bRR9O2RxZ/e2dLhfT6+aDNDc7pxiTWnGRMRSzb6mTCoJ4N6p8aMHbG+h3MX8CsR2Qn8GrjXpQ8FdobkK3Jppp185dXk9uxCt6x0vjRzJAvW+9jsr2j3/j7cWszy7Qe59czjyEy3W3/GdFRVbT3/2XowZa5uIPYB56vAN1V1OPBN4Mm27kBEbnX3f5b7/f6IFzBZ+Mtr6N+zCwDXfWokWRlpPPnu1nbv7/FFm+jXI4sv5A+PVBGNSWlLtxygtiHAWRZwouZ64G/u8f8BM9zjXUDof7JhLu0YqjpHVfNVNT83N3X+UG3lL69hgAs4/bO7cNmJQ3l5RREHXGeCtli/p4yFBX5uPC2PblnJ35PGmFhYXOCnW2Y6+Xl94l2UmIl1wNkNnOUenwNsdI9fBa5zvdVmAqWqGrm+vCnIFxJwAG4+YxQ19QGeXbqjzft6fNFmemSlc+3MvAiW0JjUtmTjfj41ul9KdIcOima36OeBD4DxIlIkIjcBtwC/EZFVwE/xeqQBvAFsATYBTwBfi1a5UkFtfYDiytqjlg4YM6AnZ4/P5S9Lt1Fd1/opb3YcqOK11bv54syR9O5uMwsYEwnbD1SydX9lSjWnAURtHVNVvbqJTdMbyavA7dEqS6rZ75rNckOucABuOeM4rvnTMv7x8S6umjGiVfua885mMtLSuOn0UREvpzGpaklhanWHDrLuRknIX+4FnAFhAedTo/sxcXAv/vTuVgKBlgeC+streGl5EZ+fPpSBvVKj26YxsbC4cD8j+nYnr1/3eBclpizgJCFfMOD0OjrgiAi3nDmKTb4KFhe23MNv7ntbqWsIcOuZo6NSTmNSUW19gA827+fMcf2TfnbocBZwkpCv3JtHrbHlny+ZMoRBvbryRAsDQcuq63j2g+1cPHkwo/r3iEo5jUlFK7YfpLK2gbPGpcZ0NqEs4CQhX1kNItAvO+uYbZnpadxwWh7vbz7A2t2lTe7juaU7KK+p56uz7OqmNURkuIgsFJF1IrJWRO506Q+4+QFXisi/RWSIS29y/kARuV5ENrqf60PSp4vIJ+41j0qqnR4nicWFfjLSJCVmhw5nAScJ+cpr6Ns9q8kZAa6eMYLuWen86Z3GB4JW1zXw5LtbOWNsfyYPtWUIWqkeuFtVJwIzgdtFZCLwK1Wd4uYPfA1vDkFoYv5AEekL3AecgjdO7T4RCQ7UeByvp2fwdeFzFZpOYHGhn/y8PmR3iVqfrYRlAScJ+ctrjumhFqp3t0y+kD+cf67azd7S6mO2/78VReyvqLGrmzZQ1T2q+pF7XA6sB4aqallIth548wlC0/MHXgDMV9ViVT0IzAcudNt6qepS16vzGeCzMflwJmJ8ZdWs31OWcr3TgizgJCF/eTUDWuhVdtPpowio8tT7245Kr28IMGfJFqYNz+FTx6XeJX8kiEgecCKwzD1/0M0f+EWOXOE0NX9gc+lFjaQ39v42/VOCWrJxP0DKjb8JsoCThMJnGWjM8L7duXDyIP66bDuVNfWH099Ys5cdxVV8ddbolOtBEwkikg28DNwVvLpR1e+7+QOfA+6Idhls+qfEtaTQT27PLkwc3KvlzEnIAk6SCQS0xSa1oJvPOI6y6npeWu6dUKt6C6yNzu3BeSmwvnqkiUgmXrB5TlX/1kiW54DPu8dNzR/YXPqwRtJNJ9EQUN7Z6OeMsanXHTqoVQFHRE4XkRvd41wRsWHnCarkUB31AW3xCgfgpBF9mD6yD3Pf20pDQFlU6Gf9njJuO2u0LbDWRq7H2JPAelV9KCR9bEi22cAG97ip+QPnAeeLSB/XWeB8YJ7bViYiM917XQe8Ev1PZiJlza5SDlbVpWxzGrRiahsRuQ/IB8YDfwYygWeB06JbNNMezY3BacwtZ4zitmc/Yt7avTz1/jaG9O7K7Gm2FFE7nAZcC3wiIitd2veAm0RkPBAAtgO3uW1vABfjzR9YBdwIoKrFIvIA8B+X735VDS5k+DW8lXS7AW+6H9NJLC70IwJnjLWA05zP4d0ADfbA2S0iPaNaKtNuwaWlw2cZaMp5Ewcxsl93HnhtHXtKq/nhJRPJyrCW1rZS1XeBxi4L32gif5PzB6rqXGBuI+nLgckdKKaJo8WFfqYM7U3fHseOj0sVrfnPUusqhwKIiA07T2DBaW1ys1sXcNLThC+fNoo9pdXkdM/kqhm2wJoxkVZaVcfHO1Jrdc/GtCbgvCQif8QbJ3ALsABvCQGTgPxNzKPWnCvyhzE0pxtfmzWa7lmpNxjNmGh7b/N+Apq63aGDWvzvoqq/FpHzgDK8+zg/VNX5US+ZaRdfeTXZXTLaFDi6Z2Xw3j3nRLFUxqS2JYV+enbNYNrwnHgXJa5a02lgFPBOMMiISDcRyVPVbdEunGm71ozBMcbEjqqyuNDP6WP6k9HEdFOpojWf/v/wetgENbg0k4D8Za0bg2OMiY2Nvgr2lFanfHMatC7gZKhqbfCJe5y63SwSnK+82gKOMQkkVVf3bExrAo5fRP4r+EREZgP7o1ck0xH+8ppWj8ExxkTf4kI/YwdkMySnW7yLEnetubN8G/CciDyGN85gJ94oZ5NgKmvqqaxtaFMPNWNM9ByqbWDZ1mKunTky3kVJCK3ppbYZmOkmJURVK6JeKtMuh5eWtiY1YxLC0q0HqK0P2P0bp8mAIyJfUtVnReRbYekAhM4XZRKDr8yb1sbu4RiTGBYX+OmSkcaMUX3jXZSE0NwVTnBGAZvGppPwVwSvcOwejjGJYMlGPzOP60fXzPR4FyUhNBlwVPWPIpIOlKnqwzEsk2mnw/Oo2RWOMXG3s7iKLf5KvnSK3b8JaraXmqo2AFfHqCymg3zlNWSmCzndM+NdFGNS3pKN1h06XGt6qb3neqi9CFQGE4Prt5vE4SuvJje7S8ou7mRMIllc4GdoTjdG59p8x0GtCTjT3O/7Q9IUsMm3Eoy/vIbcXnb/JhJEZBzwODBQVSeLyBTgv1T1J3EumukE6hoCvL/5AJdOHWIngCFaM/DzClU9O+ynxWAjInNFxCcia0LSXhSRle5nW8hCVYjIvSKySUQKROSC9n2c1Oa3edQi6QngXqAOQFVXA1fFtUSm0/ho+0EqauqtO3SYJgOOiFwqIn5gtYgUicipbdz3U8CFoQmqeqWqTlPVaXhrv//NvddEvMo8yb3m967DgmkDm7gzorqr6odhafVxKYnpdBYX+klPE04d0y/eRUkozV3hPAicoapDgM8DP2vLjlV1CVDc2Da3JvsXgOdd0mzgBVWtUdWteMvuzmjL+6W62voAxZW11iU6cvaLyGiOLDx4ObAnvkUyncWSjX6mj+hDr67WgSdUcwGnXlU3AKjqMiI7HucMYJ+qbnTPh+JNmRNU5NKOISK3ishyEVnu9/sjWKTObb8bg2ODPiPmduCPwAQR2QXcBXw1riUyncInRaWs2VXGrAnWnBauuU4DA8JmGTjqeQdnGriaI1c3baKqc4A5APn5+dqBMiQVv01rE1GqugX4tFtSPU1Vy+NdJpP4AgHlh6+uoX92F75k86cdo7krnCfwrmqCP+HP20VEMoDL8LpZB+0Choc8H+bSTCv52rG0tGmaiPxURHJUtVJVy0Wkj4hYDzXTrJc/KuLjHSXce9EEa05rRHMzDfw4Su/5aWCDqhaFpL0K/FVEHgKGAGOB8Bu2phm+cm8eNbuHEzEXqer3gk9U9aCIXAz8TxzLZBJY6aE6fv7mBqaP7MPnTmz0jkDKi9p6pyLyPPABMN71crvJbbqKsOY0VV0LvASsA/4F3O5mOTCt5CurQQT6ZdvaeBGSLiKHLxdFpBtgl4+mSQ/PL+RgVS0//q9JpKXZ2JvGtGbgZ7uoaqNT4qjqDU2kP4jXM860g7+ihr7ds8hM8TXTI+g54C0R+bN7fiPwdBzLYxLY+j1lPPPBNr54ykgmD+0d7+IkrBYDjoh0UdWasLS+qtpol2cTH76yGuuhFkGq+gsRWQ2c65IeUNV58SyTSUyqyn2vrKV3t0zuPn9cvIuT0FpzhfM3EfmsqtYBiMhg4DVgelRLZtrEX17NAJvWJqJU9U3gzXiXwyS2V1ft5sNtxfzsshPI6W5N2s1pTfvLP4CXRCRdRPKAeXhTfpgE4iuvITfbrnA6SkTedb/LRaQs5KdcRMriXT6TWCpq6nnw9fVMHdabK/OHt/yCFNeaJaafEJEsvMCTB3xFVd+PcrlMGwQC6s2jZl2iO0xVT3e/beFB06JH39qIr7yGOdflW0eBVmhuienQQZ8CjABWAjNFZKYtMZ04Sg7VUR9QG/QZIW4ev7WqOiHeZTGJa5OvnLnvbuXK/OFMG54T7+J0Cs1d4YSf4f2tiXQTZzYGJ7JUtcHNWj5CVXfEuzwm8agqP3p1Hd2z0vnuhePjXZxOIx4DP02EHV5a2prUIqkPsFZEPuTohQf/K35FMonizTV7eXfTfu6fPYl+du+01VrTLXo+3po4Je55H7yZnW3NmgQRnNbGOg1E1A/iXQCTmKpq6/nJa+s4fnAvrpkxIt7F6VRa00stNxhswJviAxgQtRKZNvPbPGoRIyJdReQu4ApgAvCeqi4O/jTzuuEislBE1onIWhG506X/SkQ2iMhqEfm7iOSEvKbRRQdF5EKXtklE7glJHyUiy1z6i64zj4mx3y/czO7Sau6fPYkMG2jdJq35thpE5HAYF5GRuDVCTGLwlVeT3SWD7llRmzgilTwN5AOfABcBv2nl6+qBu1V1IjATuN0tLDgfmKyqU4BC3JCCphYddB0WfufeeyJwtcsL8AvgYVUdAxwEbsLE1Nb9lcxZsoXLThzKyXl9412cTqc1/6G+D7wrIovxequdAdwa1VKZNrGVPiNqoqqeACAiT9LKSWRVdQ9ugTY3u/R6YKiq/jsk21Lgcvf48KKDwFYRCV10cJNbHgEReQGY7fZ3DnCNy/M08CPg8XZ9StNmqsqP/7mWrIw07rnIOjC2R2vG4fxLRE7CO2sDuEtV90e3WKYt/GU19LeAEyl1wQeqWu8tTts2boD0icCysE1f5siyHEPxAlBQ6KKD4YsRngL0A0pUtb6R/OHvfyvupHDECLvHEClvrfexqMDP/3zmeJvVo51a2wZzKnBmyPPXolAW006+8mqbMDBypobMKCBAN/dcAFXVXs29WESygZfxTszKQtK/j9fs9lx0in2ELVIYOeXVdXyyq5TVRaU8/f42xg7I5vpT8+JdrE6rNb3Ufg6czJGKcqeInBq6VoiJL395jY3BiRBVTW/va0UkEy/YPKeqfwtJvwG4BDhXVYMBoLlFBxtLPwDkiEiGu8qxRQojrLY+wIa9ZazaWcLKnaWsLiphk7+C4F9sVP8e/OLyKTYjewe05grnYmCaqgYARORp4GPAAk4CqKypp7K2wXqoxZl4bW9PAutDZ+EQkQuB7wJnqWpVyEuaWnRQgLEiMgovoFwFXKOqKiIL8e4BvQBcD7wS/U+WvFSVeWv38f7m/awqKmX97jJqGwIA9M/OYuqwHC6dOoQpw3ozdVgOfXpYp8COam2TWg4QXI7A2m4SiI3BSRinAdcCn4jISpf2PeBRvIXb5rv7QUtV9TZVXSsiwUUH6wlZdFBE7sCbJDcdmOsWKAT4b+AFt9T1x3gBzrTTv9bs5avPfUSPrHQmD+3NjaflMXV4DlOH5zCkd1fac//ONK81AednwMfu7Erw7uXYbNEJwlfmprWxK5y4UtV38epHuDeaeU2jiw6q6huNvc71XJsRnm7aLhBQ/nfBRo7L7cG8u860ZrIYaU0vtedFZBHefRyA/1bVvVEtVYopPVRH726Z7Xqtv8IN+rR7OMa02r/W7qVgXzmPXDXNgk0MtfhNi8hbqrpHVV91P3tF5K1YFC4VFOwt56QH5vP+pvb1ND88j5p1izamVQIB5ZEFGxmd24NLpgyJd3FSSpMBx03x0RfoLyJ9RKSv+8mjif7/pu3mrd1LQ0BZvNHfrtf7ymvITBdyurfvCsmYVPPmGu/q5hvnjiXd1rCJqeaa1L4C3IXXg2YFR9qny4DHolus1LGowAfAR9sPtuv1vvJqcrO72A1OY1ohEFAeeauQMQOy7eomDppbnuAR4BER+bqq/jaGZUoZBytrWbmzhK6ZaawqKqW2PkBWRtvak/3lNeTaqGdjWuWNNXso3FfBo1efaFc3cdBck9rJIjIoGGxE5DoReUVEHnVNbaaDlmz0E1C4/tQ8ausDrNld2uZ9+G0eNWNapcHduxk7IJvPnDA43sVJSc2dTv8RqAUQkTOBnwPPAKW4aTNMxywu8NOneyZfPm0U0L5mNZu405jWeeOTPWz0Vdi9mzhqLuCkq2pwsOeVwBxVfVlVfwCMiX7RklsgoCwu9HPWuFwG9urKiL7dWb6tbQGntj5AcWUtuRZwjGlWQ0B55C27uom3ZgOOiATv8ZwLvB2yzRZe6aBPdpVyoLKWWeO9teymj+zDih0HOTLVVsv22xgcY1rl9U/2sMlXwZ2fHkuaXd3ETXMB53lgsYi8AhwC3gEQkTF4zWrNEpG5IuITkTVh6V93KyCuFZFfhqQ3uvphslpY4EMEzhyXC3gBx19ew87iQ63ex+GVPu0Kx5gmefduChk3MJuLJ9vVTTw110vtQTfAczDw75BZbtOAr7di30/hdZ9+JpggImfjLTw1VVVrRGSASw9d/XAIsEBExgXnlkpGiwr8TB2WQ183IeD0kX0AWLGjmBH9urdqHz5bWtqYFr22ejeb/ZX87pqT7Oomzprtg6uqS1X176paGZJWqKoftbRjVV3CkQk/g74K/Nytcoiq+lz64dUPVXUrELr6YdI5UFHDqqISZo3PPZw2bmBPenbJaNN9HF+5N4+a3cMxpnENAeXRtzYyfmBPLpo8KN7FSXmxnkRoHHCGiCwTkcUiEpyfbSjHrnLY5GqGIrJcRJb7/e0bnR9v72zcjyqc7e7fAKSnCdNG5LCiDT3VfGU1iEB/mynamEYFr27s3k1iiHXAyQD64i1X/R3gJWnjEHlVnaOq+aqan5ub2/ILEtDCAh/9emRxQtgqnfkj+1Kwr5yy6romXnk0f0UNfbtn2eSDxjQi2DNtwqCeXDjJrm4SQaz/UxUBf1PPh0AA6E/zqx8mlYaAssR1hw4/45o+sg+qsHJHSav25SurseY0Y5rwz1W72eKv5M5z7eomUcQ64PwDOBtARMYBWcB+vNUPrxKRLm6lw+Dqh0lnVVEJB6vqOGv8sVdn00bkkCawvJXNav7yagbYtDbGHKO+IcCj7urmAru6SRhRG08jIs8Ds/Bmmy4C7gPmAnNdV+la4HrX+63J1Q+TzaICP2kCZ449NuBkd8lgwqBerZ5xwFdew5gBPSNdRGM6vX+u3s2W/ZX84UvWMy2RRC3gqOrVTWz6UhP5G139MNksKvAxbXjT66Pn5/Xh5RVFNAS02ek3AgH15lGzLtHGHMW7utnE8YN7cf5Eu7pJJHa3OYb85TWsLio9qndauOkj+1BZ28CGvWXN7qvkUB31AbVBn8aEeXXVbrbur+Qu65mWcCzgxNCSQq8b96xmAs5JI7wBoC01qwXH4Ni0NsYcEbx3M3FwL86fODDexTFhLODE0KJCP/2zuzBpSK8m8wzr042Bvbq02HEguLS09VIz5ohH39rItgNV3PXpsbYoYQKygBMjzXWHDiUi3kSeLV7h2DxqxoSat3Yvj769iSumD+M8u7pJSBZwYmTlzoOUHqrj7AktD1adPrIvRQcPsa+susk8fptHzZjDNvnKufulVUwd1psHPjvZrm4SlAWcGAl2hz5jTGsCjpvIs5mrHF95NdldMuieZStFmNRWVl3HrX9ZQdfMNB7/0nS6ZqbHu0imCRZwYmRhgY/pI/vQu3tmi3knDelF18y0Zify9JXbLAPGBALKt15cxY4DVfzumpMYktMt3kUyzbCAEwO+8mrW7CprtndaqMz0NKYMy2HFjqYDjt+mtTGG3769iQXr9/E/nzmeU47rF+/imBZYwImBxQXB7tCtn2w0f2Qf1u4q5VBt4xMu+CtqrMOASWlvrd/HwwsKueykoVx/al68i2NawQJODCwq9DOgZxcmDm66O3S46SP7UB9QVheVNLrdV1ZtY3BMytrir+CuF1YyeWgvfvq5E6yTQCdhASfK6hsCvFPoZ9b43DZViuAA0MbG41TW1FNZ22BNaiYlVdTUc+tfVpCZkcYfr823TgKdiHVxirKPd5ZQVl3f6vs3QX16ZDE6t0ejMw7YGByTqgIB5e6XVrJ1fyV/uWkGQ62TQKdiVzhRtnCDj/Q04fSx/dv82vyRfVmx4yCBgB6V7nPjc2wMjkk1jy/ezLy1+/jexcdz6ui21ykTXxZwomxRgZ/pI/vQq2vL3aHDTR/Zh5KqOrbsrzwq3V8RvMKxezgmdSws8PHrfxfw2WlD+PJpefEujmkHCzhRtK+smnV7ypqdHbo5J41sfCLP4Dxq1qSWOERkuIgsFJF1IrJWRO506Ve45wERyQ97zb0isklECkTkgpD0C13aJhG5JyR9lIgsc+kvikjja1wkoW37K7nz+Y85flAvfnbZFOsk0ElZwImi9nSHDjU6twc53TNZvr34qHRfeQ2Z6UJOKwaRmpipB+5W1YnATOB2EZkIrAEuA5aEZnbbrgImARcCvxeRdBFJB34HXARMBK52eQF+ATysqmOAg8BN0f9Y8VXXEGDF9oN85S8rSEsT/njtdLplWSeBzso6DUTRwgIfg3p1ZcKg9q3KKSJMH3HsRJ6+8mpys7vYWV4CUdU9wB73uFxE1gNDVXU+0NjfajbwgqrWAFtFZBMww23bpKpb3OteAGa7/Z0DXOPyPA38CHg8ah8qDuoaAnyyq5QPNh9g6ZYDrNh+kKraBrIy0ph7/ckM79s93kU0HWABJ0rqGgK8u3E/n5kyuEOBYXpeH97a4ONgZe3hVUL95TXk9rL7N4lKRPKAE4FlzWQbCiwNeV7k0gB2hqWfAvQDSlS1vpH84e9/K3ArwIgRI9pY+tgKBpilWw6wdEsxy7cVU+UGO48f2JMrpg/jU6P7MWNUP/o2sUqu6Tws4ETJiu0HKa9pe3focNODC7LtOMi5x3tTrvvLa+xML0GJSDbwMnCXqja/bGuUqOocYA5Afn6+tpA9Lgr2lvOzN9fz4dZjA8zM4/oxY1Rf+mXbPcpkYwEnShYV+MlIE04b07H5naYOzyEjTVi+/UjA8ZXXHO5QYBKHiGTiBZvnVPVvLWTfBQwPeT7MpdFE+gEgR0Qy3FVOaP5OpXBfOVc/sZQ0gctDAkx/CzBJzwJOlCwq8HFyXl96tqM7dKiumelMGtr78H2c2voAxZW11kMtwYjXbvoksF5VH2rFS14F/ioiDwFDgLHAh4AAY0VkFF5AuQq4RlVVRBYClwMvANcDr0T+k0TXJl8F1zyxjIw04cWvfIpR/XvEu0gmhqyXWhTsLjnEhr3l7e6dFi5/ZB9W7Syhtj7AfhuDk6hOA64FzhGRle7nYhH5nIgUAZ8CXheReQCquhZ4CVgH/Au4XVUb3NXLHcA8YD3wkssL8N/At1wHg354Aa7T2Lq/kmue8G5bPX/rTAs2KciucCJMVfnxP9eSmS5cMGlQRPY5fWQfnnx3K+v2lBHsfmBXOIlFVd8Fmuod8vcmXvMg8GAj6W8AbzSSvoUjPdk6le0HKrl6zlIaAsoLt85kdG52vItk4sCucCLspeU7mbd2H9+5YDx5ETqDC64Aunxb8eF51GziThML+ytqmLd2L/UNgXbvY2dxFVfPWUpNfQPP3XIKYwe2b5iA6fzsCieCtvgr+NGr6zh1dD9uPv24iO13YK+uDOvTjY92HDw86M3mUTOx8Jt/F/L8hzsYMyCbey6cwLnHD2hTN/9dJYe4+omlVNY28NdbTmHCoNYv0WGSj13hREhdQ4C7XlxJVkYaD31hGmlpkR2UOX1kH5ZvO4ivrAYRrEePiTpVZVGBj0lDehEIKDc/s5yr5ixl1c6SVr1+T+khrp6zlNJDdTx70ylMGtI7ugU2Cc8CToT874JCVheV8vPLTmBQ78jf0M8f2QdfeQ0f7yyhb/csMtPtT2eiq2BfOXtKq7l25kjmffNMHvjsZDb7K5j9u/e4468fseNAVZOv3VdWzTVPLKO4spZnvjyDE4ZZsDFRDDgiMldEfCKyJiTtRyKyK7QXT8i2Ricy7AyWbTnA7xdt5sr84Vx0wuCovEdw3M37m/bb/RsTE4sOzwU4gMz0NK6dOZJF3zmbb5wzhrfW+zj3oUXc/891HKysPep1/vIarnliKfvKqnnqxpM5cYSNGTOeaJ4mP4U3KWG4h1V1mvt5A5qeyDCKZYuY0kN1fPPFlYzs250fXjqx5Re004RBveiRlU59QC3gmJhYVOBjwqCeR12xZ3fJ4Fvnj2fRd2Zx+fRhPPX+Vs781UIeX7SZ6roGDlR4wWZ3STV/vuFk8vP6xvETmEQTtYCjqkuA4hYzeg5PZKiqW4HQiQwTlqry/b9/gq+8hkeuOpEeXaLXByM9TQ6fKdoYHBNt5dV1LN92kLMnND4108BeXfnZZVP4111nMiOvL7/41wbO+fUirpyzlB3FVTx5fT6nHNexWTZM8onHjYA7RGS1a3ILXmsP5dgJC5ucmFBElovIcr/fH+2yNuvvH+/itdV7+OZ545g6PCfq7xfsHm091Ey0vbdpP/UBZda45gcvjxvYkydvOJm/3nIK/bK7sLO4iieuy+fUMbYapzlWrAPO48BoYBreVO6/aesOVHWOquaran5ubmRG8rfHjgNV/PCVtczI68ttZ42OyXseDjjWpGaibOEGPz27ZLR6zr5TR/fnldtPY8UPzuPMFoKUSV0xDTiqus9N3xEAnuBIs1lzExkmnPqGAHe9+DECPHTlVNIj3AW6KSfn9eUzJwzmjLFWoU30qCqLC/2cMa5/m3pDpqUJ2VFsVjadX0wDjoiEduH6HN5qiOBNZHiViHRxkxYGJzJMSI8t3MRHO0r4yecmM6xP7JYJ6JaVzu++eBJjBti0ICZ6NuwtZ29ZNbPGdWxpDWPCRe10RESeB2YB/d3khfcBs0RkGqDANuAr4E1kKCLBiQzrcRMZRqtsHbFi+0F++/YmPnfiUGZPa/Q2kzGd2sICHwBnRWjyWWOCohZwVPXqRpKbnN22qYkME0l5dR13vfgxg3t35cezJ8W7OMZExaICPxMH92KgrSprIsyGq7fBj15dx66Dh/jfK6fRq4Pr3BiTiEoP1bFi+0HOnmBXNybyLOC00oJ1+3j5oyLuOGesDWYzSeu9TftpCGiHl0Y3pjEWcFqhriHAT99cz+jcHnz9nDHxLo4xUbNwg49eXTM4MQbjykzqsYDTCi/8Zydb/JXcc9HxNmmmSVpHukPnkmHHuYkCO6paUFFTzyMLCpkxqi+fPt6aGUzyWrenDF95TYuzCxjTXjZKqwVzFm9mf0Utf7r++DYtPGVMZxOcHdq6Q5tosSucZuwrq+aJd7ZyyZTBTLM2bZPkFhX4mDy0l00Oa6LGAk4zHp5fSH0gwHcvmBDvohgTVaVVrju09U4zUWQBpwmF+8p5aflOrp2Zx4h+sZu+xph4eGeTn4DCLGtOM1FkAacJP39zAz26ZFg3aJMSFhX46d0tk2nDbXVOEz0WcBrx/ub9vL3Bx+1nj6FPj6x4F8eYqAoElEUFfs4clxuzmc9NarKAEyYQUH76xnqG5nTjhlPz4l0cY6Ju3Z4y9ldYd2gTfRZwwvxz9W7W7Crj2xeMo2tmeryLY0zULdxgs0Ob2LCAE6K6roFf/quASUN6MXuqLT1gUsOiQj9ThvWmf7atJGuiywJOiGc+2MaukkN87+LjSbO2bJMCSqpq+XjHQWtOMzFhAccpqarlsbc3MWt8LqeN6R/v4hgTE0s27ve6Q0+w8Tcm+izgOI+9vYmKmnruucgGeZrUsajAR5/umUwdlhPvopgUYAEH2FlcxTMfbOfy6cOYMKhXvItjTEwEAspi6w5tYsgCDvCreQWkpcG3zhsf76KYTkpEhovIQhFZJyJrReROl95XROaLyEb3u49LFxF5VEQ2ichqETkpZF/Xu/wbReT6kPTpIvKJe82j0sHZZNfsLuVAZa3NLmBiJuUDzuqiEl5dtZubTz+OQb1t0kLTbvXA3ao6EZgJ3C4iE4F7gLdUdSzwlnsOcBEw1v3cCjwOXoAC7gNOAWYA9wWDlMtzS8jrLuxIgRdu8CMCZ461gGNiI6UDjqry4Ovr6dcji6+cdVy8i2M6MVXdo6ofucflwHpgKDAbeNplexr4rHs8G3hGPUuBHBEZDFwAzFfVYlU9CMwHLnTbeqnqUlVV4JmQfbXLokIfU4bl0M+6Q5sYSdmAU3Swih++spZlW4u589Nj6dk1M95FMklCRPKAE4FlwEBV3eM27QUGusdDgZ0hLytyac2lFzWS3tj73yoiy0Vkud/vb7SMxZW1rNxZYt2hTUyl3AJsa3aVMmfJFl7/ZA8CXJk/nKtnjIh3sUySEJFs4GXgLlUtC73NoqoqIhrtMqjqHGAOQH5+fqPv985GP6pwtnWHNjGUEgFHVVlU6OeJJVt4f/MBsrtk8OXT8rjxtFEMyekW7+KZJCEimXjB5jlV/ZtL3icig1V1j2sW87n0XcDwkJcPc2m7gFlh6Ytc+rBG8rfLogI/fXtkMWVo7/buwpg2S+qAU1sf4JWVu/jTO1sp2FfOoF5dufeiCVx9ygh6WROaiSDXY+xJYL2qPhSy6VXgeuDn7vcrIel3iMgLeB0ESl1Qmgf8NKSjwPnAvapaLCJlIjITr6nuOuC37SlrIKAsLvRz1rhcm1HDxFRSBpzSQ3X8ddkOnnp/K/vKapgwqCe/uWIql04dQlZGyt62MtF1GnAt8ImIrHRp38MLNC+JyE3AduALbtsbwMXAJqAKuBHABZYHgP+4fPerarF7/DXgKaAb8Kb7abPVu0optu7QJg6iFnBEZC5wCeBT1clh2+4Gfg3kqup+d3b4CF4FrAJuCPb4aasXPtzBA6+to7K2gdPH9OeXl0/lzLH96eCQBWOaparvAk0dZOc2kl+B25vY11xgbiPpy4HJx76ibRZu8Fl3aBMX0bzCeQp4DK/75mEiMhyvmWBHSHLomIRT8MYbnNKeNx3WpzvnTRzIzWccx2RrnzbmGENyuvKF6cNtcUETc1ELOKq6xHUPDfcw8F2OtGVDyJgEYKmI5ARvtLb1fU8f25/Tx9rkm8Y05cqTR3DlydYz08ReTG9oiMhsYJeqrgrb1NTYg8b20eIYA2OMMYknZgFHRLrj3UT9YUf2o6pzVDVfVfNzc60N2hhjOotY9lIbDYwCVrkb+MOAj0RkBk2PSTDGGJMkYnaFo6qfqOoAVc1T1Ty8ZrOTVHUv3piE69wMujNxYxJiVTZjjDHRF7WAIyLPAx8A40WkyI1DaMobwBa8MQlP4I03MMYYk0Si2Uvt6ha254U8bnJMgjHGmORgw+6NMcbEhAUcY4wxMSFea1bnJCJ+vPmpwvUH9rdyN4mQN1HKkSx5R6qq9ZknqeqI1afI5o1PHVHVpPsBlnemvIlSjmTOaz+J9zex+pRYeWPxY01qxhhjYsICjjHGmJhI1oAzp5PlTZRyJHNec7RE+JtYfUqsvFHXqTsNGGOM6TyS9QrHGGNMgrGAY4wxJjZi0RUObybohcA6YC1wp0vvC8wHNrrffVzeZXhLTQeAf4TkfQ+oAcqBT9zv7U3kXevSAsCekLy1gLqf/s3kLQrJV4u3gukAYGtI+sEm8r7sPkd43jLgRaDBpdUBNa7Mc8P2UQb8EagPSS8BpgG/cWUN5v0EqHDfTTBvGfAN4DPAIZcW/HzheUuB3Xhz34XnDX6+0Pd7D5jexHexJyRvDfA0kOvKHsy70ZXvd64sClQDC/COgUUhebe6vPe71wXLPdN9b6+771GBy0P+/ttcWcuB14AcYIL7jDXAt5s6Bl36MXmtjsSkjoQfQyXuGOmLt2ZWMO9+jtSnYN4G9z7TaLw+/S9HjrfQOvKDkH3UcaQ+BULyHgL+QfP1KZi/FHgXuLmRvCldR2J1hVMP3K2qE4GZwO0iMhG4B3hLVccCb7nn9Xjr5pyF94/1tJC8/1TVLsCDwJt4f8x7G8l7LzAIGIN3MKXjfbH3Ajfi3UgLAOOaybsT70D4Nd6BPB14Fu+PcjGwEu8KMZj3/pC8Q5rIWwNMBR7AqxBVQKaITAYuB/4ELME7YDOA04Dl7rNvAcR9P7cAT4bk/dCVezHeRKirXN6PgP9y7/t34AWXLxMvmM1wedOANXgHdHje4OcrdmVuwKsYTzfxXVTi/eN40pWhL94y4/OAy/AO/A/cZx/ryrgQ+BjvwL8H+D1wlXuf/3Z5T8JbenwKXoWdjedp4Esub9A9eMdTd7xjpT/e37kY7x/Mr8Pzhh2DNJE3mqyOHH0M3QT8BeiJVxfudY8/jfcPNrQ+rQL+BmwO+S4bq0+TgLc5uo6sBL6NFyyfw/vnHqxPj3GkjmQAS2m+Pu0ENriyvQ18p5G8qV1H4jH4B2956fOAAmCwSxsMFITl+xHeP8LG8u4E3msi73ZgYUjeEmBbWN5a4PNN5cU7g8pwebcAO/AO3GDeF/EOnMby+vAOqPC8wQMyHa/SvIxXqb/htg/GO3P5F95BtwGvIlwO/L+QP3Bo3rmuzHV4FWUMXkUrD/0u3H5udnkbgAxXtj/hVbJyV77wvMHPV4A3k/cWvLPIxr6LnXhnQZvdd7ETeN/tfzCQh1cx9uGdiQf3+2vgt+69C9w+89x3+EBI3mCZPwI+CPl7BvMGz97Cj5VdwHNhf/9vN5G3sWMw6lc4VkearCO78QJIaBne58jxGqwjL+EFsG00XZ/2c2wdCc37FF6dLHH5g8fb03hXB7Nppj657/8Vt98ng99FWN6UriMxv4cjInnAiXhNAgP1yLo3e4GBYdlz8JaabizvAOD5JvL258jZzl4gm6On98jBO6BXNJF3N1CiqvUubz+8S96skLyHgK5hea/A+8N2byKvD++f9R14f8RKvDOcg3gHSvDzDXDpRe75g3hndr3xDubQvNvwzvxK8Ba5uxKvYmQD/rDPV+LSa1x5g7rjnbn0bSTvbvf4ZryzpDy3z4wmPt92t22c++6GAN1CyqvufV51+x2IV9lK3HccfgycFswbUuYal7cpjR0rb7Yyb/j7x5zVkcN1ZAfesU1YGWqBbiF5Ac7Bu1IaxrF1JFifSji2jmSF5d3l3jP0eMvDO24X0nx9uhm4wKWdxtF1JJg3petITAOOiGTjnUHcpaplodvUC5UalvcLwCvhefEuYTOB/2tl3nS8tXZC81bh/REby7slLO8BvOAQCMmb5n5C8/Zxn6+Go5d+CObdiXeAX4F3eXyh2+eh0K8JGB/yXvfiNVU04DV5XRBW5nS37wqgC0fa2SvxzohCZbj8dSFlvhTvDPIvTeTd4p5/271H8Awwq4nPB16TzOddmes4VjpeBWmMhj3PbyZva3zP7fO5ljKGH4PxYHXkcB25Eq856d1jviSvjqRz5Hi7F68JMNjce0FY3vFuGxxbR8LX6QqWoyKkzDOBqka+t6PqE14dqXJleJKj60gwb2rXkRg2EWTitVF+KySt0Uu1kLzzaPyy7gagMiTvYrybZruA2zj68vsGjrRNh+atB+7myCXyPPe4weXd7/IG72usDcsbvKkYmrcM76piK96BtxCvjTiY96d4B5yPIzcSFe8srRKvueOQ288BvOaCUe75IbwzxXdd3oVuv0Xu8+13+Ze57dXuNdvdvord/oNtyF1dmYM3k+8I+Xy73OcIfhcHQsrlBwrdfhr7fBtCvotivBuwZe7vu9jtsx7vH8F+vDNAn9tvAUeOgWDeAyF589z7VQFbQo6j/3P7/Cj0WMH72y8HCkPy/hnvLG19pJsLrI5EtI4Eb8KHdrAJ5j3k0oPH2yiXvwrvfktoHTnkHvtdGTa596p0x0FFSN5ivKasYH3qitdUFXCfMfi9NVafhoW8V7X7zLUh+w3Wp5SuIzG5whERwYv461X1oZBNrwLXu8fXA6+E5sW7cdZY3m8Ci0Pyfgw8BDysqn/A+3KniMgo4Ft4B8CrYXnL8Npm/w/vJttteG2ulS5vBd7ZmN+95ndheWtD9hvsRfIQ3gG9Ga/yTQE+F5L3ObybecvxAkOhS8/Dq1Cv4zUHCF6PmDK8tua5eIGlGK8CBO/XBJs7luId2N3dZ1jvtq9xZQbvJmZP937vAv92n8sP7FTVx0I+X/CGZeh3kea+r01u39ua+Hz9XTkfwqskDXiX6teH/P2WuTOlhXi9sla7/a7HawPH5W0AXgjJO1NVp+GdQb7EEd9x39tP3fNX8Zohv+ve+x/BjKp6I/AHvGMhmPeoY5A4sDpy1DHUDe9Ge7DXVTXwSEjeBrx/7s9xpI58jNcEt5Wj60g5XsB4Fe8YysK7Z7Ier/6tD8n7mvs8wfr0b/fexcDrId8bHFufgk2XW/DqsY8jdeRtjtSn1K4jMTpzOx3vYFuNF31X4rW39sO7d7ARr7tf35C8te7LbMCL3CNd3k1u28gW8q7kSPfOX4bkDZ4xBR+/0Eze0J86vAOkMCStiqO7dQZ/qvF6xITnXYtXuYNpwSucz+PdFAw+r3ef9aaw/Qbc53uEo7tsLsZr1ggvx0G8XjWh3Vz9jeQNfm+N5W3quzijld9Fhft7lIS93xq8HkCh71ft8s4L+Ts14J2VH4d3nNS7tH0cOcMPz9vPlaeOI92D/4DX06oI759UiXscPK4OH4PumG0sby+rI1GvI+F5g81fI8O2Vbi//bfC8jcAX6Tx+tRUHfkRR9engkbyNldHGttvHd49ndbUp5SpIza1jTHGmJiIeS81Y4wxqckCjjHGmJiwgGOMMSYmLOAYY4yJCQs4xhhjYsICTgITkQYRWSkia0VklYjcLSLN/s1EJE9ErolVGY2JJ6sjnYsFnMR2SFWnqeokvAkXLwLua+E1eYBVJpMqrI50IjYOJ4GJSIWqZoc8Pw74D95I5ZF485/1cJvvUNX3RWQpcDzeILmngUeBnwOz8OaR+p2q/jFmH8KYKLI60rlYwElg4ZXJpZXgTUZYDgRUtVpExgLPq2q+iMzCm9foEpf/VmCAqv5ERLrgTftxhapujeFHMSYqrI50LhktZzEJKhN4TESm4U1XMa6JfOfjzZl1uXveG28WXqtMJtlZHUkwFnA6Eddc0IA34d99eHMlTcW7F1fd1MuAr6vqvJgU0pg4sjqS2KzTQCchIrl4k+s95maG7Q3sUdUAcC3e+hngNSP0DHnpPOCrIpLp9jNORHpgTJKxOpL47AonsXUTkZV4TQPBRdKCU9f/HnhZRK7DW0K30qWvBhpEZBXe0raP4PXK+chNVe8HPhub4hsTdVZHOhHrNGCMMSYmrEnNGGNMTFjAMcYYExMWcIwxxsSEBRxjjDExYQHHGGNMTFjAMcYYExMWcIwxxsTE/wen6t5Kl+cazAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Left plot Netflix\n",
"ax1 = plt.subplot(1, 2, 1)\n",
"plt.plot(netflix_stocks['Date'], netflix_stocks['Price'])\n",
"ax1.set_title(\"Netflix\")\n",
"ax1.set_xlabel(\"Date\")\n",
"ax1.set_ylabel(\"Stock Price\")\n",
"\n",
"\n",
"\n",
"\n",
"# Right plot Dow Jones\n",
"ax2 = plt.subplot(1, 2, 2)\n",
"plt.plot(dowjones_stocks[\"Date\"], dowjones_stocks[\"Price\"])\n",
"ax2.set_title(\"Dow Jones\")\n",
"ax2.set_xlabel(\"Date\")\n",
"ax2.set_ylabel(\"Price\")\n",
"plt.subplots_adjust(wspace=.5)\n",
"\n",
"#plt.savefig(\"Netflix_DJIA_Growth_Comparison.png\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- How did Netflix perform relative to Dow Jones Industrial Average in 2017?\n",
"- Which was more volatile?\n",
"- How do the prices of the stocks compare?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#Netflix performed similarly to the DJIA, with the stock price starting low and ending up high by the end of the period.\n",
"\n",
"#Netflix was far more volatile, showing a few spikes in stock price in the middle of the year.\n",
"\n",
"#In terms of growth, both graphs show an increase in price, with the Netflix graph showing a higher rate of growth."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Step 9\n",
"\n",
"It's time to make your presentation! Save each of your visualizations as a png file with `plt.savefig(\"filename.png\")`.\n",
"\n",
"As you prepare your slides, think about the answers to the graph literacy questions. Embed your observations in the narrative of your slideshow!\n",
"\n",
"Remember that your slideshow must include:\n",
"- A title slide\n",
"- A list of your visualizations and your role in their creation for the \"Stock Profile\" team\n",
"- A visualization of the distribution of the stock prices for Netflix in 2017\n",
"- A visualization and a summary of Netflix stock and revenue for the past four quarters and a summary\n",
"- A visualization and a brief summary of their earned versus actual earnings per share\n",
"- A visualization of Netflix stock against the Dow Jones stock (to get a sense of the market) in 2017\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.9.6"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment