def _calc_historical_200_day_sma(self,symbol): retArray = []; prArray = []; today = date.today() enddate = today.strftime("%Y%m%d") today_ordinal = date.toordinal(today) start_ordinal = today_ordinal - 380; startdate = (date.fromordinal(start_ordinal)).strftime("%Y%m%d") #print startdate #print enddate retArray.append(symbol) prArray.append(symbol) xx = yahoostock.get_historical_prices(symbol,startdate,enddate) #print xx #print xx[1] for i in range (1,241): #print "%d" % (i) #print xx[i] x2 = xx[i]; prArray.append(x2[1]) for i in range (1,self.numSma+1): sma = 0.0 for mm in range (i,i+200): sma += float(prArray[mm]); sma = sma / 200.0 retArray.append(sma) return [retArray, prArray]
def _fetch_historical_200_day_ema(symbol): retArray = [] retArray.append(symbol) today = date.today() enddate = today.strftime("%Y%m%d") today_ordinal = date.toordinal(today) start_ordinal = today_ordinal - 60 startdate = (date.fromordinal(start_ordinal)).strftime("%Y%m%d") #print startdate #print enddate ema = float(_fetch_200_day_sma(symbol)) retArray.append(ema) xx = yahoostock.get_historical_prices(symbol, startdate, enddate) mult = 0.004975 one_minus_mult = 1 - float(mult) for i in range(1, 30): x2 = xx[i] price = float(x2[1]) print ema, price, mult, one_minus_mult newema = (ema - price * mult) / one_minus_mult retArray.append(newema) ema = newema return retArray
def _calc_historical_200_day_sma(symbol): retArray = [] priceArray = [] today = date.today() enddate = today.strftime("%Y%m%d") today_ordinal = date.toordinal(today) start_ordinal = today_ordinal - 350 startdate = (date.fromordinal(start_ordinal)).strftime("%Y%m%d") #print startdate #print enddate retArray.append(symbol) priceArray.append(symbol) xx = yahoostock.get_historical_prices(symbol, startdate, enddate) for i in range(1, 241): x2 = xx[i] priceArray.append(x2[1]) for i in range(1, 30): sma = 0.0 for mm in (i, i + 200): sma += float(priceArray[i]) sma = sma / 200 retArray.append(sma) return [retArray, priceArray]
def _fetch_historical_200_day_ema(symbol): retArray = []; retArray.append(symbol) today = date.today() enddate = today.strftime("%Y%m%d") today_ordinal = date.toordinal(today) start_ordinal = today_ordinal - 60; startdate = (date.fromordinal(start_ordinal)).strftime("%Y%m%d") #print startdate #print enddate ema = float(_fetch_200_day_sma(symbol)); retArray.append(ema) xx = yahoostock.get_historical_prices(symbol,startdate,enddate) mult = 0.004975 one_minus_mult = 1 - float(mult); for i in range (1,30): x2 = xx[i]; price = float (x2[1]); print ema,price,mult,one_minus_mult newema = (ema - price*mult)/one_minus_mult; retArray.append(newema) ema = newema return retArray
def _calc_historical_200_day_sma(self,symbol): retArray = []; prArray = []; today = date.today() enddate = today.strftime("%Y%m%d") today_ordinal = date.toordinal(today) start_ordinal = today_ordinal - 380; startdate = (date.fromordinal(start_ordinal)).strftime("%Y%m%d") #print startdate #print enddate retArray.append(symbol) prArray.append(symbol) xx = yahoostock.get_historical_prices(symbol,startdate,enddate) for i in range (1,241): x2 = xx[i]; prArray.append(x2[4]) for i in range (1,self.numSma+1): sma = 0.0 for mm in range (i,i+200): sma += float(prArray[mm]); sma = sma / 200.0 retArray.append(sma) return [retArray, prArray]
def _fetch_historical_data(symbol,days): today = date.today() enddate = today.strftime("%Y%m%d") today_ordinal = date.toordinal(today) start_ordinal = today_ordinal - days; startdate = (date.fromordinal(start_ordinal)).strftime("%Y%m%d") retArray = yahoostock.get_historical_prices(symbol,startdate,enddate) return retArray