In [1]:
import numpy as np
import pandas as pd
from pandas_datareader import data as wb
import matplotlib.pyplot as plt

In [5]:
tickers = ['^GSPC', '^IXIC', '^GDAXI', '^FTSE', '^IBOV']
ind_data = pd.DataFrame()

for t in tickers:
    ind_data[t] = wb.DataReader(t, data_source="google", start="1994-01-01")['Close']


----------------------------------------------------
RemoteDataError    Traceback (most recent call last)
<ipython-input-5-1c5538ccfd5b> in <module>()
      3 
      4 for t in tickers:
----> 5     ind_data[t] = wb.DataReader(t, data_source="google", start="1994-01-01")['Close']

/home/guido/.ve/python-for-finance/lib/python3.6/site-packages/pandas_datareader/data.py in DataReader(name, data_source, start, end, retry_count, pause, session, access_key)
    130                                  chunksize=25,
    131                                  retry_count=retry_count, pause=pause,
--> 132                                  session=session).read()
    133 
    134     elif data_source == "enigma":

/home/guido/.ve/python-for-finance/lib/python3.6/site-packages/pandas_datareader/base.py in read(self)
    153         # If a single symbol, (e.g., 'GOOG')
    154         if isinstance(self.symbols, (compat.string_types, int)):
--> 155             df = self._read_one_data(self.url, params=self._get_params(self.symbols))
    156         # Or multiple symbols, (e.g., ['GOOG', 'AAPL', 'MSFT'])
    157         elif isinstance(self.symbols, DataFrame):

/home/guido/.ve/python-for-finance/lib/python3.6/site-packages/pandas_datareader/base.py in _read_one_data(self, url, params)
     72         """ read one data from specified URL """
     73         if self._format == 'string':
---> 74             out = self._read_url_as_StringIO(url, params=params)
     75         elif self._format == 'json':
     76             out = self._get_response(url, params=params).json()

/home/guido/.ve/python-for-finance/lib/python3.6/site-packages/pandas_datareader/base.py in _read_url_as_StringIO(self, url, params)
     83         Open url (and retry)
     84         """
---> 85         response = self._get_response(url, params=params)
     86         text = self._sanitize_response(response)
     87         out = StringIO()

/home/guido/.ve/python-for-finance/lib/python3.6/site-packages/pandas_datareader/base.py in _get_response(self, url, params)
    118         if params is not None and len(params) > 0:
    119             url = url + "?" + urlencode(params)
--> 120         raise RemoteDataError('Unable to read URL: {0}'.format(url))
    121 
    122     def _read_lines(self, out):

RemoteDataError: Unable to read URL: http://www.google.com/finance/historical?q=%5EGSPC&startdate=Jan+01%2C+1994&enddate=May+24%2C+2017&output=csv

In [ ]:
ind_data.head()

In [ ]:
ind_data.tail()

In [ ]:
(ind_data / ind_data.iloc[0] * 100).plot(figsize=(15, 6))
plt.show()

In [ ]:
annual_ind_returns = ind_returns.mean() * 250