Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
695 lines (694 sloc) 117 KB
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Master File\n",
"\n",
"**Calculating Correlation for Coca-Cola company**\n",
"\n",
"In this file, you will find all the functions from the Google Trends Data & Stock Analysis files as well as our calculations to obtain the correlation coefficient. We intentionally left out any extensive descriptions of the functions from this notebook to keep it uncluttered. If you would like to see our theory behind these functions, more in-depth explanations, and test cases, please visit our other two notebooks.\n",
"\n",
"At the bottom of the file, we will be using these functions to calcuate the correlation between our stock returns and trends data for n-lags."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Import all necessary packages:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"try: #for making web requests\n",
" from urllib.request import urlopen, Request\n",
" from urllib.error import HTTPError\n",
"except ImportError:\n",
" from urllib2 import urlopen, Request, HTTPError\n",
" \n",
"import pandas as pd\n",
"import numpy as np\n",
"import lxml\n",
"import requests\n",
"import requests_cache\n",
"import pytrends\n",
"from pytrends.request import TrendReq\n",
"from bs4 import BeautifulSoup\n",
"from collections import Counter\n",
"\n",
"# for plotting & manipulating datetimes\n",
"from matplotlib.dates import date2num \n",
"from matplotlib.dates import DateFormatter\n",
"from matplotlib import mlab as mlab\n",
"from matplotlib import pyplot as plt\n",
"import datetime as DT\n",
"plt.style.use('ggplot')\n",
"\n",
"requests_cache.install_cache(\"cache\")\n",
"#%matplotlib inline # only for python 3\n",
"\n",
"# required info\n",
"google_username = \"***@gmail.com\"\n",
"google_password = \"***\"\n",
"\n",
"# Login to Google. Only need to run this once, the rest of requests will use the same session.\n",
"pytrend = TrendReq(google_username, google_password, custom_useragent=None)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Import all necessary functions:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"From Goolge Trends Data file:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# function to quickly change the search term list into a list of lists\n",
"def listit(t):\n",
" term_listed = []\n",
" term_listed.append(t)\n",
" return term_listed"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# function to get each company's data frame separately - includes past 3 years and categories\n",
"def get_term_df2(term, cat_num):\n",
" pytrend.build_payload(kw_list = term, cat = cat_num, geo = 'US', timeframe = '2014-01-05 2017-03-11')\n",
" new_df = pytrend.interest_over_time()\n",
" return new_df"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# function to obtain correlation coefficient for n-lags\n",
"def calc_corr(n_lag):\n",
" if n_lag == 0:\n",
" return result.corr(l)\n",
" else:\n",
" r = result.iloc[n_lag:]\n",
" t = l.iloc[:-n_lag]\n",
" if len(r) == len(t):\n",
" return r.corr(t)\n",
" else:\n",
" print \"Not same length\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"From Stock Analysis file:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# function to get historical stock data from Yahoo Finance\n",
"def getYahooFinanceStockData(stock = '^GSPC', fromMonth = '01', fromDay = '01', fromYear = '1960'):\n",
" #build the url and read the full contents as a string (going back in time upto start of specified year)\n",
" url = 'http://ichart.finance.yahoo.com/table.csv?s=' + stock + '&a=' + fromMonth + '&b=' + fromDay + '&c=' + fromYear\n",
" fulltext = urlopen(url).read().decode('utf-8')\n",
" \n",
" #split the fulltext into individual lines based on the newline character\n",
" fulltextlines = fulltext.splitlines()\n",
"\n",
" #split the lines into headers and an array of data, based by comma characters\n",
" header = fulltextlines[0].split(',') #for now, fine to just discard the header...\n",
" data = np.array([line.split(',') for line in fulltextlines[1:]])\n",
" \n",
" #note, if you wanted to return reported closing values instead of adjusted closing values, use column data[4] instead of data[6].\n",
" adjustedClosingPrices = data[:,6].astype(np.float) #convert it to an array of floats instead of strings.\n",
" closing_dates = data[:,0]\n",
" \n",
" return closing_dates, adjustedClosingPrices"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# calcualtes the lognormal return from a specified stock over n days\n",
"def calcLogNormalStockReturns(stockPrices = np.empty(0), n_days=1): \n",
" n_day_lognormal_returns = np.empty(len(stockPrices) - n_days)\n",
" # n-day training return; use \"-n\" to omit oldest n days that won't have a pair with which to compare\n",
" for i in range(len(stockPrices) - n_days): \n",
" n_day_lognormal_returns[i] = np.log(float(stockPrices[i]) / float(stockPrices[i+n_days]))\n",
" \n",
" return n_day_lognormal_returns"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# calcualtes the percent return from a specified stock over n days\n",
"def calcPercentStockReturns(stockPrices = np.empty(0), n_days=1):\n",
" n_day_percent_returns = np.empty(len(stockPrices) - n_days)\n",
" \n",
" # n-day training return; use \"-n\" to omit oldest n days that won't have a pair with which to compare\n",
" for i in range(len(stockPrices) - n_days):\n",
" n_day_percent_returns[i] = (float(stockPrices[i]) - float(stockPrices[i+n_days])) / float(stockPrices[i+n_days]) *100\n",
" \n",
" return n_day_percent_returns"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# helper function to get sundays\n",
"def precedingSunday(d):\n",
" #Note, for datetime.weekday: sunday=6, monday=0, tuesday=1, wedesday=2, thursday=3, friday=4, saturday=5.\n",
" if d.weekday() == 6: \n",
" return d\n",
" else: \n",
" return d - DT.timedelta(days = d.weekday() + 1)\n",
"\n",
"# avg returns per week & reorder\n",
"def avgWeeklyAndReorder(in_dates = np.empty(0), in_returns = np.empty(0)):\n",
" '''Definition: Take an array of daily stock returns and returns an array of average weekly stock returns in reverse order, labeled from Sundays.\n",
" Input: a numpy array of daily real number n-day stock returns, with oldest values last; a corresponding numpy array of string dates.\n",
" Output a numpy array of weekly average real number n-day stock returns, with oldest values first (to match order of Google Trends data)\n",
" a numpy array of corresponding string dates (referenced by the preceding Sunday)\n",
" Note: assumes the oldest date in the daily returns input array is a Monday.'''\n",
" \n",
" #reverse the input arrays to be oldest first, convert string dates to datetime objects\n",
" dates = np.array([DT.datetime.strptime(d, \"%Y-%m-%d\") for d in in_dates[::-1]])\n",
" returns = in_returns[::-1]\n",
" \n",
" #identify the Sundays before the first and last dates in our input time series (of weekdays), and # of weeks between\n",
" oldestSun = precedingSunday(dates[0])\n",
" newestSun = precedingSunday(dates[len(dates)-1])\n",
" weeksBetween = int((newestSun - oldestSun).days / 7)\n",
" \n",
" #create an array of datetimes for all Sundays beginning a trading week in our dataset (and empty array for its avg returns)\n",
" weeks = np.array([oldestSun + DT.timedelta(days = 7 * w) for w in range(weeksBetween + 1)])\n",
" wreturns = np.zeros(len(weeks))\n",
" \n",
" #average the n-day returns across each day in the week, for all weeks (note weeks with holidays have fewer trading days)\n",
" w, wsum, count = 0,0,0\n",
" for i, d in enumerate(dates):\n",
" #print('in for:', ' i=',i, ' d=',d, ' w=',w)\n",
" if d < weeks[w] + DT.timedelta(days=7): #if day d is in week w (i.e., is not yet in the following week)\n",
" count += 1 #increase the count of trading days in the week\n",
" wsum += returns[i] #increase the sum of n-day returns in the week\n",
" else:\n",
" wreturns[w] = wsum / count #calculate avg n-day return for preceding week\n",
" \n",
" \n",
" count, wsum = 0,0 #reset local vars for next week\n",
" w += 1 #set weekly counter for next week \n",
" \n",
" count += 1 #increase the count of trading days (for d, the first day in the next week)\n",
" wsum += returns[i] #increase the sum of n-day returns (for d, the first day in the next week)\n",
" \n",
" if wreturns[w] == 0: \n",
" wreturns[w] = wsum / count #calculate average for the final week, if not accounted for above\n",
" \n",
" return weeks, wreturns"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# take a time series of stock returns and return a binary time series identifying some percent of worst returns in that period\n",
"def worstReturns(stock_returns = np.empty(0), pWorst = 5):\n",
" worst_ones = np.zeros(len(stock_returns), dtype=int)\n",
" p = np.percentile(stock_returns, pWorst) #identify all values less than this.\n",
" for i in range(len(stock_returns)):\n",
" if stock_returns[i] <= p: worst_ones[i] = 1\n",
" \n",
" return worst_ones"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Obtaining the data:\n",
"\n",
"Below, we obtain the necessary data and mold it to fit our needs."
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"##### CODE TESTING WITH COCA-COLA #####\n",
"\n",
"# search terms & categories being used\n",
"KO_search_terms = ['coca-cola', '\"coca cola\"', 'KO', 'coke']\n",
"cat_list = [7,12,16]\n",
"cat_names = ['Financial', 'Business & Industrial', 'News']\n",
"\n",
"# request using API & match it to financial data\n",
"KO_list = [listit(t) for t in KO_search_terms]\n",
"all_df = pd.concat([get_term_df2(x, i) for x in KO_list for i in cat_list], axis = 1)\n",
"result = all_df.mean(axis=1)\n",
"result = result.loc[\"2014-02-09\":]"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"stocks = ['KO'] # can add more stocks if wanted\n",
"n_days = 5\n",
"month = '1'\n",
"day = '1'\n",
"year = '2014'\n",
"\n",
"# get closing dates, stock prices, and stock returns\n",
"for stock in stocks: \n",
" closing_dates, stock_prices = getYahooFinanceStockData(stock, month, day, year)\n",
" stock_returns = calcPercentStockReturns(stock_prices, n_days)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0 \t2014-02-09 00:00:00 \t2.67667848078\n",
"1 \t2014-02-16 00:00:00 \t-3.44571656916\n",
"2 \t2014-02-23 00:00:00 \t0.802121125882\n",
"3 \t2014-03-02 00:00:00 \t1.26349162692\n",
"4 \t2014-03-09 00:00:00 \t0.611630378195\n",
"5 \t2014-03-16 00:00:00 \t0.133650694022\n",
"6 \t2014-03-23 00:00:00 \t0.886788298101\n",
"7 \t2014-03-30 00:00:00 \t-0.879612766889\n",
"8 \t2014-04-06 00:00:00 \t1.22415886681\n",
"9 \t2014-04-13 00:00:00 \t3.09612778722\n",
"10 \t2014-04-20 00:00:00 \t2.59045871983\n",
"11 \t2014-04-27 00:00:00 \t0.108157453164\n",
"12 \t2014-05-04 00:00:00 \t-0.175805142908\n",
"13 \t2014-05-11 00:00:00 \t0.232581624674\n",
"14 \t2014-05-18 00:00:00 \t-0.443531698346\n",
"15 \t2014-05-25 00:00:00 \t0.111691459521\n",
"16 \t2014-06-01 00:00:00 \t0.447703290604\n",
"17 \t2014-06-08 00:00:00 \t-0.08382780282\n",
"18 \t2014-06-15 00:00:00 \t1.9315489735\n",
"19 \t2014-06-22 00:00:00 \t1.52807686744\n",
"20 \t2014-06-29 00:00:00 \t0.955852633255\n",
"21 \t2014-07-06 00:00:00 \t-0.520121703055\n",
"22 \t2014-07-13 00:00:00 \t0.376877108168\n",
"23 \t2014-07-20 00:00:00 \t-2.21870998696\n",
"24 \t2014-07-27 00:00:00 \t-3.4566363083\n",
"25 \t2014-08-03 00:00:00 \t-0.945801643597\n",
"26 \t2014-08-10 00:00:00 \t1.49837021858\n",
"27 \t2014-08-17 00:00:00 \t3.08168612408\n",
"28 \t2014-08-24 00:00:00 \t0.761611652146\n",
"29 \t2014-08-31 00:00:00 \t0.535398688183\n",
"30 \t2014-09-07 00:00:00 \t0.506482792536\n",
"31 \t2014-09-14 00:00:00 \t0.0988094457685\n",
"32 \t2014-09-21 00:00:00 \t0.850853978805\n",
"33 \t2014-09-28 00:00:00 \t1.40462329194\n",
"34 \t2014-10-05 00:00:00 \t3.3277464287\n",
"35 \t2014-10-12 00:00:00 \t-1.81680663544\n",
"36 \t2014-10-19 00:00:00 \t-4.57977719821\n",
"37 \t2014-10-26 00:00:00 \t-0.381803565371\n",
"38 \t2014-11-02 00:00:00 \t2.43576947873\n",
"39 \t2014-11-09 00:00:00 \t1.22673378588\n",
"40 \t2014-11-16 00:00:00 \t2.94790051449\n",
"41 \t2014-11-23 00:00:00 \t2.01864114612\n",
"42 \t2014-11-30 00:00:00 \t-0.66208320032\n",
"43 \t2014-12-07 00:00:00 \t-4.86966428908\n",
"44 \t2014-12-14 00:00:00 \t-1.07788250844\n",
"45 \t2014-12-21 00:00:00 \t3.86630565123\n",
"46 \t2014-12-28 00:00:00 \t-0.117774138226\n",
"47 \t2015-01-04 00:00:00 \t0.57265781885\n",
"48 \t2015-01-11 00:00:00 \t-0.634481411179\n",
"49 \t2015-01-18 00:00:00 \t1.99822226421\n",
"50 \t2015-01-25 00:00:00 \t-2.55569918159\n",
"51 \t2015-02-01 00:00:00 \t-1.14013578899\n",
"52 \t2015-02-08 00:00:00 \t0.970316301534\n",
"53 \t2015-02-15 00:00:00 \t-0.31533598931\n",
"54 \t2015-02-22 00:00:00 \t1.03977054063\n",
"55 \t2015-03-01 00:00:00 \t0.398033916316\n",
"56 \t2015-03-08 00:00:00 \t-4.34019085239\n",
"57 \t2015-03-15 00:00:00 \t0.223861474424\n",
"58 \t2015-03-22 00:00:00 \t-0.045352280684\n",
"59 \t2015-03-29 00:00:00 \t0.328329119482\n",
"60 \t2015-04-05 00:00:00 \t1.23869402529\n",
"61 \t2015-04-12 00:00:00 \t-1.21483294462\n",
"62 \t2015-04-19 00:00:00 \t1.02935764829\n",
"63 \t2015-04-26 00:00:00 \t-0.498974358941\n",
"64 \t2015-05-03 00:00:00 \t0.241091737218\n",
"65 \t2015-05-10 00:00:00 \t0.809283755112\n",
"66 \t2015-05-17 00:00:00 \t0.35709817669\n",
"67 \t2015-05-24 00:00:00 \t-0.605326050073\n",
"68 \t2015-05-31 00:00:00 \t-0.939933168991\n",
"69 \t2015-06-07 00:00:00 \t-1.01458973578\n",
"70 \t2015-06-14 00:00:00 \t0.613136432913\n",
"71 \t2015-06-21 00:00:00 \t0.0515911038474\n",
"72 \t2015-06-28 00:00:00 \t-2.13927624422\n",
"73 \t2015-07-05 00:00:00 \t1.13112122098\n",
"74 \t2015-07-12 00:00:00 \t2.93090879392\n",
"75 \t2015-07-19 00:00:00 \t-0.449277769381\n",
"76 \t2015-07-26 00:00:00 \t-0.688937744357\n",
"77 \t2015-08-02 00:00:00 \t2.89494244328\n",
"78 \t2015-08-09 00:00:00 \t-1.15797867731\n",
"79 \t2015-08-16 00:00:00 \t-1.57938952156\n",
"80 \t2015-08-23 00:00:00 \t-4.71660839958\n",
"81 \t2015-08-30 00:00:00 \t0.450224653863\n",
"82 \t2015-09-06 00:00:00 \t-1.31250971687\n",
"83 \t2015-09-13 00:00:00 \t1.66332345866\n",
"84 \t2015-09-20 00:00:00 \t0.73515588552\n",
"85 \t2015-09-27 00:00:00 \t2.0445844515\n",
"86 \t2015-10-04 00:00:00 \t4.0048862326\n",
"87 \t2015-10-11 00:00:00 \t0.868210583584\n",
"88 \t2015-10-18 00:00:00 \t1.54354728677\n",
"89 \t2015-10-25 00:00:00 \t0.279305002254\n",
"90 \t2015-11-01 00:00:00 \t-1.13047854137\n",
"91 \t2015-11-08 00:00:00 \t-1.11390313976\n",
"92 \t2015-11-15 00:00:00 \t1.5119278633\n",
"93 \t2015-11-22 00:00:00 \t2.46343031887\n",
"94 \t2015-11-29 00:00:00 \t0.0432829569174\n",
"95 \t2015-12-06 00:00:00 \t-0.05324012803\n",
"96 \t2015-12-13 00:00:00 \t0.684156841909\n",
"97 \t2015-12-20 00:00:00 \t0.253842730901\n",
"98 \t2015-12-27 00:00:00 \t0.881074434385\n",
"99 \t2016-01-03 00:00:00 \t-3.16210985854\n",
"100 \t2016-01-10 00:00:00 \t-0.690900672675\n",
"101 \t2016-01-17 00:00:00 \t-0.402138083878\n",
"102 \t2016-01-24 00:00:00 \t1.71669504464\n",
"103 \t2016-01-31 00:00:00 \t0.626477284284\n",
"104 \t2016-02-07 00:00:00 \t0.422209486064\n",
"105 \t2016-02-14 00:00:00 \t1.95037465126\n",
"106 \t2016-02-21 00:00:00 \t0.694787439067\n",
"107 \t2016-02-28 00:00:00 \t-0.0733303623059\n",
"108 \t2016-03-06 00:00:00 \t2.40351670042\n",
"109 \t2016-03-13 00:00:00 \t2.15409156564\n",
"110 \t2016-03-20 00:00:00 \t0.477181653666\n",
"111 \t2016-03-27 00:00:00 \t1.87480240493\n",
"112 \t2016-04-03 00:00:00 \t0.557461642975\n",
"113 \t2016-04-10 00:00:00 \t-0.984447052463\n",
"114 \t2016-04-17 00:00:00 \t-2.46540616266\n",
"115 \t2016-04-24 00:00:00 \t-0.840983834923\n",
"116 \t2016-05-01 00:00:00 \t0.819138014287\n",
"117 \t2016-05-08 00:00:00 \t1.08992836574\n",
"118 \t2016-05-15 00:00:00 \t-1.97669149214\n",
"119 \t2016-05-22 00:00:00 \t-0.393494127058\n",
"120 \t2016-05-29 00:00:00 \t0.93145690169\n",
"121 \t2016-06-05 00:00:00 \t1.85365639146\n",
"122 \t2016-06-12 00:00:00 \t-0.431648640351\n",
"123 \t2016-06-19 00:00:00 \t-0.57427968469\n",
"124 \t2016-06-26 00:00:00 \t-0.489143784228\n",
"125 \t2016-07-03 00:00:00 \t1.95224501307\n",
"126 \t2016-07-10 00:00:00 \t0.849461852155\n",
"127 \t2016-07-17 00:00:00 \t-0.0696895673083\n",
"128 \t2016-07-24 00:00:00 \t-3.03444658316\n",
"129 \t2016-07-31 00:00:00 \t-1.55435235306\n",
"130 \t2016-08-07 00:00:00 \t0.317391670593\n",
"131 \t2016-08-14 00:00:00 \t0.850365431611\n",
"132 \t2016-08-21 00:00:00 \t-0.780475938899\n",
"133 \t2016-08-28 00:00:00 \t-0.550813124736\n",
"134 \t2016-09-04 00:00:00 \t-0.132895878226\n",
"135 \t2016-09-11 00:00:00 \t-1.61285586015\n",
"136 \t2016-09-18 00:00:00 \t0.450438251464\n",
"137 \t2016-09-25 00:00:00 \t-0.713856011699\n",
"138 \t2016-10-02 00:00:00 \t-0.954137182022\n",
"139 \t2016-10-09 00:00:00 \t-0.305291834855\n",
"140 \t2016-10-16 00:00:00 \t0.576174851268\n",
"141 \t2016-10-23 00:00:00 \t1.0567536134\n",
"142 \t2016-10-30 00:00:00 \t-0.754916165211\n",
"143 \t2016-11-06 00:00:00 \t-0.341486871589\n",
"144 \t2016-11-13 00:00:00 \t-1.72771452068\n",
"145 \t2016-11-20 00:00:00 \t0.237589304318\n",
"146 \t2016-11-27 00:00:00 \t-0.546877421785\n",
"147 \t2016-12-04 00:00:00 \t1.02318786268\n",
"148 \t2016-12-11 00:00:00 \t1.33249727242\n",
"149 \t2016-12-18 00:00:00 \t-0.0500475856116\n",
"150 \t2016-12-25 00:00:00 \t-0.234132308423\n",
"151 \t2017-01-01 00:00:00 \t0.445806692224\n",
"152 \t2017-01-08 00:00:00 \t-1.51459399587\n",
"153 \t2017-01-15 00:00:00 \t0.372482843584\n",
"154 \t2017-01-22 00:00:00 \t1.38969236772\n",
"155 \t2017-01-29 00:00:00 \t-0.74271236531\n",
"156 \t2017-02-05 00:00:00 \t0.0794954719718\n",
"157 \t2017-02-12 00:00:00 \t-1.56221006991\n",
"158 \t2017-02-19 00:00:00 \t2.28313614007\n",
"159 \t2017-02-26 00:00:00 \t1.4478166004\n",
"160 \t2017-03-05 00:00:00 \t-0.118222292211\n",
"161 \t2017-03-12 00:00:00 \t0.991027126631\n"
]
}
],
"source": [
"# obtain sundays and average weekly returns that have been reordered \n",
"sundays_of_weeks, weekly_returns = avgWeeklyAndReorder(closing_dates[0:len(closing_dates)-n_days], stock_returns)\n",
"\n",
"for i in range(len(sundays_of_weeks)): print i, '\\t', sundays_of_weeks[i], '\\t', weekly_returns[i]"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"('number of zero or one flags for worst 5% of avg weekly 5-day returns:', 162)\n",
"('number of returns in the bottom 5% (where mask == 1):', 9)\n",
"('number of dates corresponding to the bottom 5% (where mask == 1):', 9, '\\n')\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjUAAAGuCAYAAABoXPeFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3XlcVPX+P/DXOeyyI7sbKiKaKO4bKW64FLlg7hVqZm5l\nehWXr11MrSRNu6Wp3QpzbzHNVDLFDTdc8OolDcgFd1AEBJRtPr8//DGXcWZghjOI2Ov5ePh4yOfz\nmfN5zxlm5s05n0USQggQERERVXNyVQdAREREZApMaoiIiOi5wKSGiIiIngtMaoiIiOi5wKSGiIiI\nngtMaoiIiOi5wKSGiIiIngtMaoiIiOi5wKSGiIiIngtMaogqICUlBQMHDoSXlxdkWYaLi0tVh0TV\nwNWrVyHLMsaMGWNQ+8jISMiyjEOHDlVyZJXvWXsua9euhSzL+O6776o6FDIhJjVGkGVZ65+1tTXq\n16+P8PBwXLx4UXEf5X3oHTx4ELIs44MPPlDc19Pm4+Oj8xzKsgxvb2+t9oWFhfi///s/NGjQAE5O\nTujevTsSEhJ0Hnvv3r2QZRm7du2q7KcBlUqF/v37IyYmBqGhoYiMjMSsWbMqvV/6+5EkCZIkVdrx\n58+fr/c9aWZmhj179pisr8p+LhXxrMVTGYKDgyHLf5+vevOqDqC6kSQJkZGRKNkyKysrC/Hx8fju\nu++wdetWxMXFoXnz5lUc5bNJkiQ4OTnhvffew5NbjtnZ2Wm1j4iIwPLly/Hqq6+iVq1a+O6779C9\ne3dcvHgRHh4e6na5ubl466238Nprr6Ffv36V/jwuX76MCxcuYPz48fjyyy8rvT+iyiRJEt544w34\n+Pho1fn6+j79gMiknsVksjIxqamAefPmaZW98847WLFiBZYvX45vvvmmwscub3/R6r7/qJOTk87z\np8uaNWswduxYfPXVVwCAAQMGIDg4GOvWrcM//vEPdbuIiAg8evQIy5cvr5SYn3Tjxg0AgJeX11Pp\nj6iyhYeHo0uXLlUdBpFif59rUpUsJCQEQgikp6dr1RUUFODjjz9G8+bNYWtrC0dHR3Tp0gU//PCD\nRrv58+ejQYMGkCQJ0dHRGpeBv/vuO4wePRrdu3dXXy0qXV/6PrWh/QGat7suXbqEwYMHw9XVFQ4O\nDujduzcSExMBAHfv3sVbb70Fb29v2NjYoF27djhw4IBpT2Ip6enpyMvLQ9u2bdVl7dq1U8dc4vDh\nw/jyyy+xYsUKODs7V7i/M2fOICwsDB4eHrC2toaPjw8mTZqE27dva7STZRnBwcEAoPEaGHI7MDo6\nGoMHD0bDhg1Ro0YNODo6IigoCBs2bNBq6+/vDysrK2RkZOg81uLFiyHLMlauXKlRfuPGDUyePBkN\nGzaEtbU1XF1d0b9/f5w6dUrrGKXHOGzcuBEdOnSAvb09GjRoUKGYS5w8eRIhISFwcHCAo6MjevXq\nhePHj5c5puLPP/9EeHg46tatCysrK3h6emLkyJFISkrS209pSUlJkGUZr732mkb5lStX1K/RkSNH\nNOoiIiIgy7LW77Ex5xAAiouLsXLlSnTs2BGOjo6wtbVFq1atsGLFCoP/CBFC4N1334Usyxg8eDDy\n8/N1tsvMzESNGjXQqFEjvccKDQ2FLMs4c+aMQX2b2unTp9GnTx+t11+fbdu24bXXXkPjxo1hZ2cH\nOzs7tGnTBp9//rnW+RsxYgRkWcbhw4d1Huunn36CLMt45513FD0HQz8PSiQnJyMsLAwuLi6ws7ND\n586dsWvXLqPH7RjyngSAEydOYPDgwfDy8oKVlRXq1q2Lt99+G7du3VK3KflsP3ToEIQQGrcWu3fv\nrm735M+lhYeHQ5ZlpKamah13zJgxSE5OxtChQ+Hh4aHxPRQcHAwzMzOoVCp8+OGH8PPzg7W1NerW\nrYtZs2ahsLBQq6/Dhw8jNDQUderUgbW1Nby8vNCxY0ejh1rwSo2J/P7775AkSeNLGHg8LiQkJASH\nDh1CkyZNMHnyZOTl5eHHH3/E0KFD8Z///AcLFy4EAHTr1g1ZWVlYvnw5AgMDMWDAAPVxAgMD4eTk\npE54goOD1V+uANSXjo3pr7TLly+jffv2aNq0KUaPHo0rV65g69at6NatG44ePYo+ffrA0dERw4YN\nQ0ZGBjZt2oR+/fohKSkJtWvXNvg85efnY8OGDUhNTYWtrS2aN2+OLl26aN3zdXV1hY2NDU6fPq0u\nO3nyJACgXr16AIBHjx7hzTffxODBgzFw4ECDY3jSr7/+isGDBwMABg8ejHr16uH06dP48ssv8csv\nvyAuLk7dZ2RkJK5cuaL1GpR+LfSZOHEimjVrhq5du8LLywv37t3Drl278NprryEpKQnz589Xtw0P\nD8fcuXOxadMmTJo0SetYa9euhZWVFUaMGKEuO3PmDEJCQpCZmYnevXsjLCwMd+/exbZt2xAUFIRt\n27ahT58+6vYll6WXLFmCvXv3IjQ0FN27d0dWVlaFYgaAQ4cOoXfv3lCpVAgLC0ODBg1w/vx5dOvW\nTZ2QPykmJgZhYWEoKipCaGgofH19cf36dWzduhU7d+7EgQMHEBgYWOa59fPzQ61atRAbG6tRvm/f\nPvVz3bdvHzp37qyui42NhY2NDTp16lThc1hUVISXX34Ze/bsgb+/P0aOHAlra2vs378fU6ZMQXx8\nPNauXVtm7Pn5+RgxYgS2bduGKVOm4LPPPtPb1snJCcOHD0d0dDT27duHHj16aNRfv34dMTExaNu2\nLVq1alVmvyWEEDh8+DBOnjyJ4uJi+Pj4oEePHqhZs6ZBjy/t6NGj6NWrFwoLCxEWFoaGDRvi7Nmz\nCA4O1vvFOXv2bJiZmaFDhw6oVasWsrKyEBsbi3fffRenTp3SOH8TJkzA5s2bsWbNGrz44otax1q9\nejUkScKECROMjr2EMZ8HwOOEvGPHjsjKysLLL7+MgIAAXLp0CYMGDULfvn2NuvVjyHvym2++wfjx\n42FtbY1XXnkFderUQXJyMr7++mvs2LEDJ06cQO3ateHk5ITIyEh8++23SE1N1Rg2oetWY1nx6JKS\nkoL27dujcePGGDVqFB4+fAgHBwf14wBg+PDhiIuLQ9++feHg4IBdu3YhKioK6enp+Prrr9XHiomJ\nwcsvvwxHR0e88sorqFWrFjIyMnDhwgV8+eWXeP/99w0+hxBkMEmShCzLIjIyUv1v2rRpIigoSMiy\nLPr37y9ycnI0HvPhhx8KSZLEyy+/LIqLi9Xl6enpwsfHR8iyLI4dO6Yuv3LlipAkSYwePVpnDAcO\nHBCSJIn58+frrK9of7Isi48++kjjWAsWLBCSJAkXFxcxceJEjbp169YJSZLEtGnTyjlr/1PSf+l/\nkiSJBg0aiIMHD2q1nzp1qpBlWQwZMkS89957wtXVVTg7O4ubN28KIYSYPn26cHV1Fenp6QbH8KSc\nnBzh4uIizM3NxZEjRzTqoqKihCRJonfv3hrl5b0G+ly6dEmrrLCwUPTo0UNYWlqqn5cQQly/fl2Y\nmZmJtm3baj3m5MmTQpIk8eqrr6rLioqKRMOGDYWNjY04fPiwRvtbt26JWrVqCW9vb1FQUKAuj4yM\nFJIkCTs7O/Gf//xHccwqlUr4+voKWZbFb7/9pvGY1atXq3/PSr/W9+/fF05OTsLd3V1cvHhR4zGJ\niYnCzs5OtG7dWmdsT3r99deFLMvijz/+UJcNHz5cuLu7i1atWokuXbpo9GtmZiZ69eqlLqvIOfzn\nP/8pJEkS7777rlCpVBrnYuzYsUKWZfHLL7+oy598f9+7d0907txZmJmZiU8++UTrOUVGRmqds1On\nTmm9/qXjkWVZfP311wads5LjP/metLa2FvPmzTPoGKU1btxYyLIsduzYoVH+r3/9S+frL4Tu3zEh\nhHjjjTeELMsiPj5eo7xZs2bCxsZGZGRkaB1HlmXx4osvGhRrdHS0kGVZrF27Vl1Wkc+D7t27C1mW\nxerVqzXKY2Ji1M+5dB9lKe89mZSUJCwtLYWfn5+4deuWRl1sbKwwMzMTgwYN0igPDg4Wsizr7VOS\nJNGtWzeddeHh4UKWZXH16lV1WenvjP/7v//T+bjg4GAhSZJo06aNyMzMVJfn5eUJX19fYW5uLu7c\nuaMuHzRokJBlWZw/f17rWPfu3dMbuy5MaoxQ8kLq+tesWTOxadMmrcf4+voKMzMzkZSUpFX39ddf\nC0mSxNixY9VlSpOaivbXoEEDjQ9lIYRITU1Vv8GeTNaKi4uFhYWF6N69u844dPnggw/E/v37RVpa\nmnj48KFITEwUEyZMELIsC1tbW3Hu3DmN9gUFBWLOnDmifv36wtHRUXTr1k2cPn1aCCHEiRMnhLm5\nudi4caNQqVTin//8p/Dy8hLm5uaidevWWh9I+mzYsEFIkiRGjRqlVVdUVCTq168vZFkW165dU5dX\nNKnRZ+vWrUKWZbFu3TqN8pCQEK0vaSGEmDRpkpBlWfz666/qsu3btwtJksTMmTN19vHZZ58JWZbF\n7t271WUlH6DTp083ScxxcXFCkiTRs2dPrfYqlUr9hVf6S2358uVClmWxcuVKnf289957QpZlceHC\nhXJjWrt2rZAkSXz++efqMg8PDzFs2DAxY8YMYWVlJfLy8tTxS5Kkkcgbew5VKpWoWbOm8Pb21vgD\nokRmZqaQZVkMHTpUXVb6/X316lXh7+8vrKysdH52CKE7qRFCiLZt2wpLS0uNL4bi4mJRp04d4ejo\nKHJzc8s7XUIIIbZt2yaio6PFlStXRH5+vrh27Zr4+uuvhZeXl5AkScydO9eg4wghxJEjR/R+QRYX\nF6sTXl1/wOhy+vRpIUmSWLBggUb5ihUrhCRJ4tNPP9UonzVrlpBlWaxfv96g4+tKaoz9PLh27ZqQ\nJEn4+fnp7KNXr14VSmr0vSdL/tDbtWuXzvqBAwcKCwsLjc/rykpqvLy8NBL80kr6jI2N1aorSbx3\n7typLgsLCxOyLIvk5GS9cRqKt58qoLi4WP3/hw8fIjExERERERgxYgQSExOxYMECAEBOTg7++usv\n1K5dW+c98JLLsfqmKRtLSX+BgYFalxlLpln7+fnB1tZWo06WZXh4eOD69esGx/fkAOGmTZti5cqV\nsLW1xdKlSxEZGYmffvpJXW9hYYFFixZh0aJFGo8rLCzE6NGj0a9fPwwfPhzLly/HBx98gPnz56NT\np05YuHAh+vbti5SUFLi5uZUZ05kzZyBJErp166ZVZ2Zmhi5dumDdunVISEgw6jabLteuXcPHH3+M\n2NhYpKam4uHDh+o6SZLUA5BLhIeH4/fff8fatWvx8ccfq5/75s2b4e7ujr59+6rbHjt2DMDjMSRP\n3hICHt/zF0LgwoULWregnrxlWtGYS36vSt/iKd22U6dOSE5O1igvGWtx9uxZnXGXjKm5cOEC/P39\n9cYJ/O/3e9++fZg8eTL++9//Ii0tDT169EDt2rWxZMkS9e2xffv2QZIkjVsixp7DpKQkZGRkwM/P\nT/2eL00IARsbG1y4cEGr7uLFi+jYsSPy8vIQExNj0O3L0iZOnIgxY8bgm2++US8nsHPnTly/fh2T\nJk1CjRo1DDpO//79NX6uXbs2xowZg5YtW6JDhw5YsmQJpk2bpl6Hafny5Rq3QgBg4MCBaN68uXoM\nj64Bx7IsIygoCJcuXdKqy8jIQFRUFHbv3o1Lly4hNzdXXafrffH6669j1qxZWLNmDd577z0Aj28D\nrl27Fs7Oznj11VcNeu66GPt5cPbsWQBAx44ddR4vKChIfQvUUGW9J0veLwcOHEB8fLxWfVpaGoqL\ni5GUlISWLVsa1a+xWrRoAQsLizLbtG7dWqusTp06AID79++ry0aOHImff/4Z7dq1w9ChQ9GtWzd0\n7twZtWrVMjouJjUK2djYoE2bNti6dStq166NqKgovP322+p7w4D+WTIl5ZmZmSaJRUl/jo6OWmVm\nZmZ66wDA3Nxc54AvY7399ttYunSpwYtyzZ8/H7du3VJ/WCxZsgS9evVSJ01+fn7w8fHBihUrEBkZ\nWeaxntZrdPnyZbRt2xZZWVl48cUX0bt3bzg6OsLMzAxXrlzB2rVrtQaHDhw4EA4ODli/fj0++ugj\nSJKEHTt2ICMjA9OmTdMYh3Tv3j0AwI8//qg3BkmSkJOTo1Xu6elpkpizsrIgSZLGdPvSdJXfu3cP\nQgj8+9//1hs3AJ1xP6kkmT948CCEEOrEpWfPnnB3d4eFhQX27dunTmocHBw0vjyMPYcl7ZOTk8sc\nzFj6S7pEcnIyMjIyEBgYWKEvn2HDhmH69On46quv1EnNmjVrIEkS3nrrLaOP96SWLVuiXbt2OHr0\nKI4dO4aXXnoJAPDZZ59pDBoFgPr166N58+blvv66fs+ysrLQpk0bXL16Fe3atcMbb7wBFxcXmJub\nIzMzE8uXL9d6X9jZ2WHUqFFYvXo1Dh48iK5du2L79u24ffs2pk2bBktLywo/b2M/D0raG/M7bwh9\n78mS37klS5bofay+97mp6YuxtJIxNqWZmz9OO0pfHBg4cCB+/fVXLF26FN9++y3WrFkDIQRat26N\njz76CD179jQ4LiY1JuLo6IjGjRsjISEBZ86cQa1atdTJgL4R8yUj1fUlDRWJ4Wn2ZyolV1N0ffg/\n6ezZs4iKisLq1avh6emJBw8e4ObNmxg1apS6TZ06deDq6qqeuVWWp3XOli5divv37yM6Olprhs7m\nzZsRHR2t9Rhra2sMGTIEX3/9NX7//XeEhIRg7dq1kCQJr7/+utbzkCQJv/zyi/oLyFD6BgIaG7OD\ngwOEELhz547O4+kqL4n73LlzeOGFF4yKW5fu3btjzZo1OHnyJGJjY1GvXj31oMh27dph7969uHXr\nFv7880+88sorGs/d2HNY8jsxcODAMhMhXUJDQ9G4cWPMnj0b3bt3x++//27UqtTW1tYIDw/H8uXL\nsWfPHjRt2hQxMTHo0KEDAgICjIpFH13vy8uXL+tt7+joWObrr+s99tVXX6mvjD15Jff48eN6l2mY\nMGECVq1ahdWrV6Nr167qAcLjxo0r93mVxdjPg5IvbWN+5w2h7z1Z0m92drbW1fOKkiQJRUVFOuvK\n+mPO1Gvf9O3bF3379sXDhw9x4sQJ/Prrr1i5ciVCQ0ORkJBQ7pXaEpzSbUIll9NUKhWAx39RNGzY\nEDdu3MBff/2l1b5kpkbpS3QlV0dKZ7GllVVfkf6eBSWX/Z+ctvik4uJi9bT20aNHa9Q9+dfco0eP\nDOq7ZcuWEELonJ5eXFysnjpq6EwSfUpej0GDBmnVHThwQO8HRHh4OIQQWLt2Le7evYuYmBi0aNFC\na4HHDh06QAhh0iXojY255IpDXFycVnshBI4ePapVbuq4S2YDxcTE4NChQxqzg3r06IFz585hy5Yt\nAKA1G8fYWPz9/eHk5ITjx4/rfb+WJSIiAsuWLUNCQgKCg4ORlpZm1ONLZvisXr0aX3/9NVQqFcaP\nH290HLoUFRWpbyeV974sUfIeOXjwoFadSqXS+Xvx119/QZIkvb9j+gQEBKBz5874+eefER8fj337\n9qFr165o3LixQbHqY+znQcmsvJLPsCfpm3peUR06dAAAo94vJd8ZQs/yAs7Ozrh27ZpWuUqlUt9e\ne5psbGwQHByMJUuWYM6cOSgoKMDu3bsNfjyTGhPZtm0bLl++DAsLC40pomPGjIFKpcKMGTPUyQ7w\neN2XBQsWQJIkjS9oZ2dnSJKkdYm3RMk0S331xvb3tFy8eBF5eXla5VeuXMHkyZMhSZLW1YAnffTR\nR7h06ZJ6MT4AsLe3R61atRATE6N+vgcPHsSDBw/QrFmzcuMaMGAAXFxcsGnTJpw4cUKjbtmyZbh8\n+TJ69eqleDxNydWCJz8sf/vtN42pjU/q1KkTGjVqhO3bt2PVqlUoLCxEeHi4Vrv+/fujYcOGWLFi\nhd4PgOPHjxuc7FUk5s6dO6Nhw4bYv38/YmJiNOpWr16tc82Z0aNHw8nJCfPnz1dP2S9NCKHzS1Kf\nkrEQK1euRHZ2tkZS0717d6hUKnz88cda42kA48+hmZkZpkyZgps3b2LKlCk6z+3t27d1jqkp8e67\n72LVqlVITExE165d9V4h0MXX1xc9evTAjh07sGrVKjg5OWHo0KEGPz4nJ0fna1JYWIh3330Xqamp\naNKkCdq0aWPQ8Tp16oTGjRvj0KFD+OWXXzTqPv/8c51/aPn4+OhMIhISEtSvkz4TJkxAfn4+wsLC\nADy+ja2UsZ8HderUQXBwMFJSUrBq1SqN9jExMUaPpynP5MmTYW5ujvfee09rfBrw+LV7Mnks7zuj\nXbt2SE1Nxd69ezXKFyxYoLEmWGU6fPiwzj8MSt4Pho4RA8Ap3cbQNaV7xowZ4qWXXlLPgnpyRH5B\nQYF48cUX1TOkZs6cKSZPniw8PDyELMti9uzZWv107NhRmJmZiZEjR4r58+eLhQsXqmcGFRcXi9q1\nawtra2vx5ptvigULFoiFCxeK1NTUCvVX3myrskbG+/j4iPr16xt07iIjI4W9vb146aWXxMSJE0VE\nRIQYPHiwsLGxEbIsi9DQUFFYWKj38YmJicLKykrnLJmS6aIdO3YUU6dOFW5ubsLR0VGkpaUZFNv2\n7duFlZWVsLKyEqNGjRJz5swRvXv3FpIkiVq1aonLly9rtK/I7Kdz584JKysrYW1tLUaNGiVmzpwp\n+vXrJ8zMzMTw4cPLPN7ChQuFJEnC0tJSWFpa6p3Cfu7cOeHt7S0kSRKdO3cWkyZNEjNmzBDDhg0T\nDRs2FLIsa8yW0TezRknMBw4cEDY2NsLCwkIMGzZMzJ07V4SGhgobGxv1++TJ6dL79u0Tjo6OQpZl\n0atXLzF16lTx3nvvicGDB4tatWoJGxsbg8+zEEIEBgaq36uln29BQYGwtbUVkiQJDw8Pk5zDwsJC\nMWDAACHLsqhdu7Z4/fXXxezZs8XYsWNFly5dhJmZmVi8eLG6vb7329q1a4WZmZnw9fVVv5eFKP81\n+vnnn9XPderUqUadpytXrghZlkW7du3EG2+8IWbNmiXGjh0rGjRooD5HT85ILM+RI0eEra2tMDc3\nF0OGDBFz5swR/fr1E9bW1qJfv35az+XmzZuiZs2a6qnIERERYtCgQcLS0lL9O6bvs6mgoEC4u7sL\nSZKEu7u73pk4+kRHRwtJkrRmJhn7efDHH38IZ2dnIUmSCA0NFXPnzhXDhw8XVlZWYuDAgTpnNupT\n3usthBDr168XVlZWwsLCQoSGhorp06eLd955RwwYMEDUrFlTNGnSRKN9yXIKLVu2FHPnzhULFy7U\niGffvn1ClmVhY2MjwsPDxbRp00SHDh2Ep6en6Natm97ZT/peFyHKnnGl67wHBgYKNzc3MWDAADF1\n6lQxc+ZM0aNHD/XM3NLTwsvDpMYIuqZyW1hYCG9vbzFw4ECxb98+nY/Lz88XH330kQgICBA1atQQ\nDg4OokuXLmLLli062//111/ilVdeEa6ursLMzExrSuCpU6dEz549hZOTk7q+9JvAmP5KPtjGjBmj\n9znrm7bt4+MjGjRooPd8lXbw4EExYsQI0aRJE+Hs7CwsLS2Fu7u7CAkJKXcKZnFxsejQoYMIDg7W\n22bRokWiTp06wtraWnTo0EFjLR5DnDp1SgwaNEi4u7sLKysrUa9ePTFp0iSttSCEePzFLcuy+OCD\nD4zq49ixY6JHjx7CxcVFODg4iBdffFH88ssv5R4vNTVVmJubq9dCKkt6erqYPXu2CAgIELa2tsLe\n3l74+fmJV199VWzcuFFj6rEhH6AViTk+Pl6EhIQIBwcH4eDgIEJCQsTx48fF5MmThSzLOtffuHr1\nqpgyZYrw8/MTNjY2wtHRUTRp0kS8/vrrGuu8GGL69OlClmUREBCgVde7d28hy7IYPny43scbcw5L\nrF+/XvTs2VPUrFlTWFlZidq1a4sXX3xRfPzxx+L69evqdmW93zZv3iwsLS1F/fr11V+c5b1GxcXF\nws3NTefU//JkZ2eLd999V3Ts2FF4eXkJKysrYW9vLwIDA8WcOXMqvP7TmTNnRN++fbVef33P5cKF\nC6J///7Cw8ND2NnZiTZt2ohvvvmm3M8mIR5P+ZckSURERBgdp64p3SWM+TwQQog///xThIWFCWdn\nZ2FnZyc6deokdu3aJZYsWSJkWRbbt283KCZD3pNCCPHf//5XjB49Wvj4+Ahra2tRs2ZNERAQIN5+\n+22xf/9+jbbFxcVi7ty5omHDhsLS0lLIsqz1h+qOHTtE27ZthY2NjXB1dRUjRowQqampIjw8XJiZ\nmWklNeW9LsHBwcLMzExnna7z/sMPP4gRI0YIPz8/YW9vLxwdHUVAQICYN2+euHv3bpnn4klMakzo\nyb9An1WM0/SqS6xVGWenTp2EhYWFeq2YslSX8ylE1cZasuBc165dDWpfXc6roXF27dpVmJmZiZSU\nlEqOSL+yYh0xYoSQZVnnumFPW3V57ZWq9mNq0tPTsWrVKkyePBmjRo3CO++8g++//17vaO4SK1eu\nxNChQzX+ffTRR4pieXJvmWcV4zS96hJrZcf58OFDrXVMgMd7SB07dgy9e/eGjY1NucepLucTqNpY\nP/nkEwCPx1oYorqcV0PijI+Px6FDh9CnTx80bNjwKUSlW1xcnM5ZTvv27cP333+PF154ocy9up6W\n6vLaK1Xtp3TfuHEDQgiMHz8eHh4euHbtGlatWoWCggKNab66BAYGYtKkSepR4eUtJEREZUtNTUXL\nli3Rq1cv+Pr6oqioCAkJCYiLi4OLi0uZ62uQYa5du4YNGzYgOTkZ0dHRCAwMVO9V9HewatUq3Lhx\nA99++y3MzMx0LpT4NBUXF6NOnTro1q0b/P39YW5ujsTERPz++++wsrLCihUrqjS+v5tqn9QEBgZq\nbHbn7u6O0NBQ/P777+UmNRYWFjoXByKiivHw8MCoUaNw8OBBHDhwAPn5+fD09MTYsWMxZ84c1K9f\nv6pDrPYuXbqEOXPmwNbWFr1799baqf15t3jxYty4cQMNGzbE0qVLq3yJClmWMWHCBMTGxiI+Ph55\neXlwdXVP/kVQAAAgAElEQVTF0KFDERERgRYtWlRpfH831T6p0SUvLw92dnbltktMTMS4ceNga2uL\nZs2aYdiwYQY9joh0c3Jywpo1a6o6jOda165dNZZr+LspawHAqiDLcpk7q9PT9dwlNbdv30ZMTIzW\niqtPCgwMRPv27eHu7o47d+5g48aN+Oijj7Bw4cIKr5RY0SWxnzbGaXrVJVbGaXqM1fSqS5xA9Ym1\nusSplCSEnmUGq9jGjRuxffv2MtssW7ZMveki8HhjtMjISDRr1szo/U/S0tIwZcoUzJs3T++ibXFx\ncVqDrZo0aYJXXnnFqL6IiIjof3755RethSo7d+6MoKAgo47zzCY1Dx48wIMHD8ps4+HhoV4COiMj\nA/Pnz0fjxo0xceLECvX55ptvYtiwYUZtnlXi/v37qFGjBrKzsyvU99Pk4ODAOE2susT6tOIUQija\nG6a6nE+AsVaG6hInUH1ifVbjNDc3h7Ozs+mOZ7IjmZi9vT3s7e0NaluS0DRs2FC9H4qx7t27hwcP\nHlT45BYVFUEIYZJdqysb4zS96hJrZcaZk5OD1YsX48yePbAtKkKuuTlahYRgfESE0WPVqsv5BBhr\nZagucQLVJ9bqEqdS1X6dmpJbTm5ubhg1ahSysrKQmZmptbvo1KlT1XvLPHr0COvXr0dycjLS09Nx\n/vx5fPLJJ/D29uZIdaIKyMnJwfjQUPSMjkbs9ev49fZtxF6/jp7R0RgfGoqcnJyqDpGI/gae2Ss1\nhjp37hzu3LmDO3fuaF2lKdmNF3i8ZXzJhoqyLOPq1as4ePAg8vLy4OzsjBYtWmDo0KEwN6/2p4To\nqVu9eDFmpqSgb6lZORKAvioVREoK1kRFYdoHH1RdgET0t1Dtv8GDg4MRHBxcbrvSCY6lpSXmzp1b\niVER/b2c2bMHS/RMM+6rUmHJnj0AkxoiqmTV/vYTEVUtIQRsi4qgb1iwBKBGYSGe0TkJRPQcUXSl\n5u7du7h79y78/f3VZVeuXMGvv/6KwsJCdO7cGe3atVMcJBE9uyRJQq65OQSgM7ERAHLNzRXNhiIi\nMoSiKzXffPMNfvjhB/XPmZmZmD9/Pk6cOIELFy5g6dKlOHHihOIgiejZ1iokBDGy7o+T3bKM1r17\nP+WIiOjvSFFS89dffyEgIED986FDh1BQUIBPPvkEq1atQkBAAHbs2KE4SCJ6to2PiECUry92yTJK\nbjIJALtkGZ80aoS3Zs6syvCI6G9CUVKTk5MDR0dH9c+nT59G06ZN4enpCVmW0a5dO9y4cUNxkET0\nbLOzs8PqHTsQO3o0etSpg5c9PdGjTh3Ejh6N1b/8wj3ViOipUDSmxsHBAenp6QCA3NxcJCcnY8SI\nEep6lUr1t954jejvxM7O7vG07Q8+ULyiMBFRRShKagICArB7927UqFEDiYmJEEJoDAy+fv06atas\nqThIIqpemNAQUVVQlNSMGDECt27dwrp162Bubo7XXnsN7u7uAIDCwkIcO3YMnTt3NkmgRERERGVR\nlNQ4OTlhwYIFyMvLg6WlpcZqvEIIzJs3D66uroqDJCIiIiqPSVYUrlGjhlaZpaUlfHx8THF4IiIi\nonIpTmpUKhXOnj2LtLQ0vZvWDR48WGk3RERERGVSlNT89ddfWLp0Ke7du1dmOyY1REREVNkUJTX/\n/ve/UVBQgBkzZqBJkyawtbU1VVxERERERlGU1KSmpmLYsGFo06aNqeIhIiIiqhBFKwq7uLhw510i\nIiJ6JihKavr37499+/YhLy/PVPEQERERVYii20+PHj2CtbU13nnnHXTq1Amurq6QdezU+/LLLyvp\nhoiIiKhcipKadevWqf//22+/6W3HpIaIiIgqm6Kk5osvvjBVHERERESKVDipKSwsxNWrV+Hm5oZ6\n9eqZMiYiIiIio1V4oLC5uTk+/fRT/Pnnn6aMh4iIiKhCKpzUSJIELy8vPHjwwJTxEBEREVWIoind\nAwcORExMDG7evGmqeIiIiIgqRNFA4aSkJNjb22P69Olo2rQp3NzcYGlpqdFGkiSMHj1aUZBERERE\n5VGU1JSexv3f//5XbzsmNURERFTZFCU1W7ZsMVUcRERERIooGlNDRERE9KxgUkNERETPBUW3n4YO\nHWpQO96mIiIiosqmKKkJCwuDJEkaZSqVCunp6Th58iS8vb3RqlUrRQESERERGUJRUjNkyBC9dffv\n38fcuXPh5eWlpAsiIiIig1TamBpnZ2f06tULP/30U2V1QURERKRWqQOFrayskJaWVpldEBEREQGo\nxKQmNTUVu3fvhre3d2V1QURERKSmaEzNpEmTtAYKA0Bubi7y8vJgZWWFt956S0kXRERERAZRlNQ0\n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\n5tixY8yZM4fdu3cDvbOxKSkpYerUqbS1tXXZj603+vXXX5kxY4ZdjCqtXr2auXPn0tbWZutSLqmk\npITJkydTWFho61IuqbS0lGnTpuHl5YWHhwfQe0eW1q5dy5w5cygpKaGxsdHW5fQq0tRcQGlpKf/x\nH//Br7/+yrfffstHH31EdXW1rcs6j7u7O/Hx8SQlJfHuu++ye/fuXnsllJeXR3t7O3PnziU7O9vW\n5VySVqslMDCQwMBAPvnkE6Wx6W06Ojr4/vvvycnJITs7m7179wJnG5ve0oSZ3yjuuusuHnroIeXx\nzk1Db3njWLVqFV9++SX/7//9PyIiIs77em+pE842NJ9++imTJ08mJSWlV9XWWUlJCdOmTWPs2LH0\n79/f1uVc1JkzZ/jss88YPXo0v/3tbwkNDaW+vp6jR4/aurTz7N69my+//JLf//733H///bi5udm6\npF7F7vd+srby8nLefvttbrrpJu666y40Gg1PP/00hYWF+Pv727o8hdFopL29nZaWFiZMmEBwcDCz\nZs3i1VdfZeDAgezfv5/Y2Fibb9BpNBrRarWEh4dz//334+zszN///neMRiPp6eldntNbeHp64uLi\nQkpKCllZWXzyySdMmTIFLy8vKisrCQgIsHWJAOh0Ovr06UN4eDgnTpxgxYoVmEwmbrjhBuX1tOVr\ne+LECaZMmcLo0aN55JFHAPjnP//JkSNH0Ol0xMTEcMcddyijS7ZsyDdu3Kg0CcOGDaO6upqDBw/S\n0NCAl5cXaWlpveaCYdeuXfzjH//g5ZdfJjk5mfLycjZt2kRxcTGRkZH07duX1NRUW5fJ0aNHee21\n17j77rv5zW9+g8lkoq6ujtraWiIjI23+N+/szJkzNDU1MWHCBADef/99qqqqKC8vp3///tx3333E\nxcX1ivPUoUOHGDt2LCNGjKCsrIzly5dTWVmJr68vo0aNIj4+vlfUaSuy91Mnzc3NLFy4kPDwcCZN\nmoRer8dgMFBcXIyzszO7d++mubkZb29vmzcLJpMJvV7PsWPH8Pf35+abb6a+vp6vvvqK3NxcCgsL\nGTx4MI6Ojjat03zSqq+vJysri6effprGxkYWLVqEv78/GRkZaDSaC14Z24K5WczJyeG+++7D39+f\no0ePsnbtWhYvXoxer6d///42P2mY3xBqamoICAjglltuYfPmzVRUVBAcHMzy5cuJiIjAycnJpjWu\n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\nRK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0xaf38438>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Here are the 5% worst average weekly 5-day returns from the dataset:\n",
"(datetime.datetime(2014, 2, 16, 0, 0), '\\t', -3.4457165691591536)\n",
"(datetime.datetime(2014, 7, 27, 0, 0), '\\t', -3.4566363083045744)\n",
"(datetime.datetime(2014, 10, 19, 0, 0), '\\t', -4.579777198208606)\n",
"(datetime.datetime(2014, 12, 7, 0, 0), '\\t', -4.8696642890806938)\n",
"(datetime.datetime(2015, 1, 25, 0, 0), '\\t', -2.5556991815928982)\n",
"(datetime.datetime(2015, 3, 8, 0, 0), '\\t', -4.3401908523870176)\n",
"(datetime.datetime(2015, 8, 23, 0, 0), '\\t', -4.7166083995831709)\n",
"(datetime.datetime(2016, 1, 3, 0, 0), '\\t', -3.1621098585356981)\n",
"(datetime.datetime(2016, 7, 24, 0, 0), '\\t', -3.0344465831612375)\n"
]
}
],
"source": [
"# get binomial list where 1 means there was a significant loss\n",
"bottom5Mask = worstReturns(weekly_returns, 5)\n",
"bottom5Returns = np.array([r for r, mask in zip(weekly_returns, bottom5Mask) if mask == 1])\n",
"bottom5Dates = np.array([d for d, mask in zip(sundays_of_weeks, bottom5Mask) if mask == 1])\n",
"print('number of zero or one flags for worst 5% of avg weekly 5-day returns:', len(bottom5Mask))\n",
"print('number of returns in the bottom 5% (where mask == 1):', len(bottom5Returns))\n",
"print('number of dates corresponding to the bottom 5% (where mask == 1):', len(bottom5Dates), '\\n')\n",
"\n",
"# plot it...\n",
"pltdata = []\n",
"for i in range(len(bottom5Returns)):\n",
" pltdata.append((bottom5Dates[i], bottom5Returns[i]))\n",
"x = [date2num(date) for (date, value) in pltdata]\n",
"y = [value for (date, value) in pltdata]\n",
"fig, ax = plt.subplots()\n",
"ax.plot(x,y, 'ro')\n",
"ax.xaxis.set_major_formatter(DateFormatter('%d %b %Y')) #('%b %d %Y'))\n",
"ax.xaxis_date() #tell matplotlib to interpret the x-axis values as dates\n",
"plt.gcf().autofmt_xdate(rotation=45) #rotate the x labels\n",
"plt.title('Bottom 5% of average weekly 5-day log returns')\n",
"plt.ylabel('weekly average of 5-day returns')\n",
"plt.xlabel('dates prior to the present')\n",
"plt.show()\n",
"\n",
"# display it...\n",
"print('Here are the 5% worst average weekly 5-day returns from the dataset:')\n",
"for i in range(len(bottom5Returns)): print(bottom5Dates[i], '\\t', bottom5Returns[i])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Calculations:\n",
"\n",
"Now we have reached the exciting part where we actually test our code with the Coca-Cola company to calculate the correlation between stock returns and search trends data."
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# turn binary into time series\n",
"l = pd.Series((v for v in bottom5Mask))\n",
"l = l[:-1]\n",
"l.index = result.index"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[0.14282667837605206,\n",
" 0.14416963983669659,\n",
" 0.10636765945778787,\n",
" 0.11085664238847201,\n",
" 0.11538006254286995,\n",
" 0.12678148139221568,\n",
" 0.13094779864067041,\n",
" 0.13139804538214236,\n",
" 0.13182985713970605,\n",
" 0.13305481844354627]"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# calculate cross-correlation for lags 0-9\n",
"corrs = [calc_corr(x) for x in range(0,10)]\n",
"corrs"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nnHHjxtGiRYvbPoYUNXVo9+7dLF++nOeee47o6GhSUlKYPXs2CxYssK2G7EzKysqIjIykd+/e/PWv\nf9U7zh05fvw4/fv3JyoqCqvVSmJiIrNnz2bevHm4u7vrHa/GAgICGD16NCEhIQBs376dOXPmMGfO\nHLtVsp1NZmYmmzdvJiIiQu8od6Rp06a8+uqrXL+51MXFRedEtXPp0iWmT59OXFwc06ZNw9vbm9On\nT+Pl5aV3tFp58803sVqttr//+OOPvPHGG3Tp0kXHVLW3bt06Nm/ezOTJkwkPDycrK4tFixbRqFEj\nu0cAOYvFixeTm5vLlClTaNy4MTt37uT1119n3rx5t/2AaClq6lBKSgqPPvooPXv2BGDChAkcOnSI\nbdu28atf/UrndDXXtm1bQ3zyB3j55Zft/p6QkMCECRPIzs4mNjZWp1S11759e7u/jxo1io0bN/L9\n9987bVFTWlrK22+/zaRJk1izZo3ece6Ii4uLU36QudG6desICAhg0qRJtjZnfhL0jY+8OXjwICEh\nIdx33306JbozGRkZdOzY0fZzOiAggNTUVDIzM3VOVnNXr15l//79TJ061fYz+YknnuDgwYNs3LiR\nkSNH3tZxZE5NHamoqCA7O5u4uDhbm6ZpxMXFkZGRoWMyUZ3Lly8DOO0nzp+zWq2kpaVRVlZ2y6fO\nO7r333+fDh06cP/99+sd5Y6dPn2aiRMnMmXKFBYuXFjtJQ9ncPDgQVq0aMHf/vY3JkyYwNSpU9my\nZYvesepERUUFu3bt4uGHH9Y7Sq21atWK9PR0Tp8+DVQ+2PnEiRO0a9dO52Q1Z7VasVqtuLraj7W4\nu7tz/Pjx2z6OjNTUkZKSEqxWK76+vnbtvr6+5OXl6ZRKVEcpxdKlS4mNjXXaUQ2oHDp/5ZVXKC8v\nx8PDg5deegmz2ax3rFpJS0vj5MmT/OUvf9E7yh1r2bIlCQkJhIWFYbFYWLVqFTNmzGDu3Ll4eHjo\nHa9Gzpw5w8aNGxk0aBDDhg0jMzOTJUuW4ObmRo8ePfSOd0f279/P5cuX6dWrl95Ram3IkCFcuXKF\nF198EZPJhFKKUaNG0a1bN72j1ZiHhwcxMTGsWbMGs9mMr68vqampZGRkEBoaetvHkaJG1Dvvv/8+\nubm5vP7663pHuSNms5m33nqLy5cvs3fvXt555x1mzpzpdIXN+fPnWbp0KdOnT6/yKc0Z/fySbbNm\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0xb8fb5c0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# plot the correlations\n",
"plt.plot(range(10), corrs)\n",
"plt. title('Cross-Correlation Results')\n",
"plt.xlabel('Num of Week Lags')\n",
"plt.ylabel('Correlation')\n",
"plt.show()"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [default]",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.12"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
You can’t perform that action at this time.