Hi, I'm new to Numpy. I'm doing some tests with some Stock Market Quotes
My struggle right now is "how to get the values of the moving averages crosses", I send an image in attach to illustrate what I'm trying to get. I'm using the this computation to get when the moving averages crosses, but when I look at the graph, the values doesn't seem ok. [quote] # Get when the ma20 cross ma50 equal = np.round(ma20,2)==np.round(ma50,2) dates_cross = (dates[equal]) prices_cross = (prices[equal]) [/quote] The full code is this: [quote] # Modules import datetime import numpy as np import matplotlib.finance as finance import matplotlib.mlab as mlab import matplotlib.pyplot as plot # Define quote startdate = datetime.date(2008,10,1) today = enddate = datetime.date.today() ticker = 'uso' # Catch CSV fh = finance.fetch_historical_yahoo(ticker, startdate, enddate) # From CSV to REACARRAY r = mlab.csv2rec(fh); fh.close() # Order by Desc r.sort() ### Methods Begin def moving_average(x, n, type='simple'): """ compute an n period moving average. type is 'simple' | 'exponential' """ x = np.asarray(x) if type=='simple': weights = np.ones(n) else: weights = np.exp(np.linspace(-1., 0., n)) weights /= weights.sum() a = np.convolve(x, weights, mode='full')[:len(x)] a[:n] = a[n] return a ### Methods End prices = r.adj_close dates = r.date ma20 = moving_average(prices, 20, type='simple') ma50 = moving_average(prices, 50, type='simple') # Get when the ma20 cross ma50 equal = np.round(ma20,2)==np.round(ma50,2) dates_cross = (dates[equal]) prices_cross = (prices[equal]) # Ver se a ma20 > ma50 # ma20_greater_than_ma50 = np.round(ma20,2) > np.round(ma50,2) # dates_ma20_greater_than_ma50 = (dates[ma20_greater_than_ma50]) # prices_ma20_greater_than_ma50 = (prices[ma20_greater_than_ma50]) print dates_cross print prices_cross #print dates_ma20_greater_than_ma50 #print prices_ma20_greater_than_ma50 plot.plot(prices) plot.plot(ma20) plot.plot(ma50) plot.show() [/quote] Someone can give me some clues? Best Regards,
<<attachment: moving_averages_cross.PNG>>
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion