In [17]:
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
import pandas_datareader.data as web
import datetime

In [20]:
prices = web.DataReader(['CVX','XOM','BP'], 'yahoo', start=datetime.datetime(2010,1,1),
                            end=datetime.datetime(2013,1,1))['Adj Close']

prices.head()


Out[20]:
BP CVX XOM
Date
2010-01-04 42.257896 61.192517 56.700952
2010-01-05 42.557951 61.625962 56.922342
2010-01-06 42.779422 61.633698 57.414323
2010-01-07 42.765133 61.401501 57.233934
2010-01-08 42.865151 61.509861 57.004337

In [21]:
volume = web.DataReader(['CVX','XOM','BP'], 'yahoo', start=datetime.datetime(2010,1,1),
                                end=datetime.datetime(2013,1,1))['Volume']

volume.head()


Out[21]:
BP CVX XOM
Date
2010-01-04 3956100.0 10173800.0 27809100.0
2010-01-05 4109600.0 10593700.0 30174700.0
2010-01-06 6227900.0 11014600.0 35044700.0
2010-01-07 4431300.0 9626900.0 27192100.0
2010-01-08 3786100.0 5624300.0 24891800.0

In [22]:
returns = prices.pct_change()

returns.head()


Out[22]:
BP CVX XOM
Date
2010-01-04 NaN NaN NaN
2010-01-05 0.007101 0.007083 0.003905
2010-01-06 0.005204 0.000126 0.008643
2010-01-07 -0.000334 -0.003767 -0.003142
2010-01-08 0.002339 0.001765 -0.004012

In [33]:
corr = returns.corr

In [34]:
%matplotlib inline
prices.plot()


Out[34]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fd0245b2bd0>

In [35]:
# plotting correlation
import seaborn as sns
import matplotlib.pyplot as plt

In [36]:
sns.corrplot(returns, annot=False, diag_names=False)


Out[36]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fd0246f1c90>