You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Read datadates=pd.date_range('2010-01-01', '2012-12-31')
symbols= ['SPY', 'XOM', 'GOOG', 'GLD']
df=get_data(symbols, dates)
# Plot SPYax=df['SPY'].plot(title='SPY Rolling Mean', label='SPY')
# Compute rolling mean using a 20-day windowrm_spy=df['SPY'].rolling(window=20).mean()
# Add rolling mean to same plotrm_spy.plot(label='Rolling mean', ax=ax)
# Add axis labels and legendax.set_xlabel('Date')
ax.set_ylabel('Price')
ax.legend(loc='upper left')
plt.show()
Bollinger Bands
# Read datadates=pd.date_range('2012-01-01', '2012-12-31')
symbols= ['SPY']
df=get_data(symbols, dates)
# Compute Bollinger Bands# 1. Compute rolling meanrm_spy=df['SPY'].rolling(window=20).mean()
# 2. Compute rolling standard deviationrstd_spy=df['SPY'].rolling(window=20).std()
# 3. Compute upper and lower bandsupper_band, lower_band=get_bollinger_bands(rm_spy, rstd_spy)
# Plot raw SPY values, rolling mean and Bollinger Bandsax=df['SPY'].plot(title='Bollinger Bands', label='SPY')
rm_spy.plot(label='Rolling mean', ax=ax)
upper_band.plot(label='upper band', ax=ax)
lower_band.plot(label='lower band', ax=ax)
# Add axis labels and legendax.set_xlabel('Date')
ax.set_ylabel('Price')
ax.legend(loc='upper left')
plt.show()
Daily Returns
# Using Pandasdaily_returns= (df/df.shift(1)) -1daily_returns.ix[0, :] =0