In [1]:
from datetime import datetime
import pandas as pd
import pandas.io.data
import numpy as np
import scipy as sp
import matplotlib.pyplot as plt
pd.set_option('max_columns', 50)
%matplotlib inline
In [2]:
run_console = False
if run_console:
%qtconsole
In [3]:
update_from_yahoo = False
if update_from_yahoo:
today = datetime.now()
ipsa = pd.io.data.get_data_yahoo('^IPSA',
start=datetime(2003, 1, 10),
end=today)
spy = pd.io.data.get_data_yahoo('SPY',
start=datetime(1993, 1, 29),
end=today)
eem = pd.io.data.get_data_yahoo('EEM',
start=datetime(2003, 4, 15),
end=today)
vea = pd.io.data.get_data_yahoo('VEA',
start=datetime(2007, 7, 26),
end=today)
ipsa.to_csv('IPSA.csv')
spy.to_csv('SPY.csv')
eem.to_csv('EEM.csv')
vea.to_csv('VEA.csv')
In [4]:
ipsa = pd.read_csv('IPSA.csv', index_col='Date', parse_dates=True, usecols=['Date','Adj Close'])
spy = pd.read_csv('SPY.csv', index_col='Date', parse_dates=True, usecols=['Date','Adj Close'])
eem = pd.read_csv('EEM.csv', index_col='Date', parse_dates=True, usecols=['Date','Adj Close'])
vea = pd.read_csv('VEA.csv', index_col='Date', parse_dates=True, usecols=['Date','Adj Close'])
In [5]:
ipsa.columns = ['IPSA']
spy.columns = ['SPY']
eem.columns = ['EEM']
vea.columns = ['VEA']
afp = pd.DataFrame()
afp = afp.combineAdd(ipsa)
afp = afp.combineAdd(spy)
afp = afp.combineAdd(eem)
afp = afp.combineAdd(vea)
In [6]:
afp.info()
afp.tail()
Out[6]:
In [7]:
afp.plot(subplots=True, figsize=(10, 10), sharex=True)
#plt.legend(loc='best')
Out[7]:
In [8]:
afp['2007':].plot(subplots=True, figsize=(10, 10), sharex=True)
Out[8]:
In [9]:
afp['2013'].plot(subplots=True, figsize=(10, 10), sharex=True)
Out[9]:
In [10]:
afp['2007'].corr()
Out[10]:
In [11]:
afpvar = afp.pct_change()
In [12]:
afpvar['2007'].corr()
Out[12]:
In [13]:
m_afp = pd.read_csv('multifondos_afp.txt', index_col=['<TICKER>', '<DTYYMMDD>'], parse_dates=True, usecols=['<TICKER>', '<DTYYMMDD>','<CLOSE>'])
In [14]:
m_afp.tail()
Out[14]:
In [15]:
m_afp.index.names
Out[15]:
In [16]:
m_afp.columns
Out[16]:
In [17]:
mu_afp = m_afp.unstack(0)
In [18]:
mu_afp.index.names
Out[18]:
In [19]:
mu_afp.columns
Out[19]:
In [20]:
mu_afp.tail()
Out[20]: