Moving Average using Pandas
import numpy as np
import pandas as pd
def moving_average(df, column, size, name):
df[name] = df[column].rolling(window=size).mean()
pass
def moving_averages(df, tickers, sizes):
for ticker in tickers:
for mav in sizes:
moving_average(df, ticker+':Close',mav, ticker+':MA'+str(mav))
pass
pass
for mav in sizes:
filtered = filter(lambda x:x>mav, sizes)
for top in filtered:
for ticker in tickers:
df[ticker+':MA'+str(mav)+'-MA'+str(top)] = df[ticker+':MA'+str(mav)] - df[ticker+':MA'+str(top)]
pass
pass
pass
pass