def read(cls, value_list): repo = EXTRACT.instance().repo ret = {} for name, data in STOCK_TIMESERIES.read(repo, value_list): logging.info((name, type(data), data.shape)) ret[name] = data return ret
def load(file_list, value_list): ret = {} for name, data in STOCK_TIMESERIES.read(file_list, value_list): if len(data) < 7 * FINANCE.YEAR: logging.info( "{} of length {} rejected for being less than {}".format( name, len(data), 7 * FINANCE.YEAR)) continue data = MONTECARLO.find(data['Adj Close'], period=FINANCE.YEAR) #filter stocks that have less than a year sharpe = data.get('sharpe', 0) if sharpe == 0: continue #filter stocks that have negative returns returns = data.get('returns', 0) if returns <= 0: logging.info( "{} of returns {} rejected for being unprofitable".format( name, returns)) continue key_list = data.keys() value_list = map(lambda x: data[x], key_list) value_list = map(lambda x: round(x, 2), value_list) msg = dict(zip(key_list, value_list)) logging.info((name, msg)) ret[name] = data return ret
def read(cls, value_list) : repo = VARIABLES().repo_stock ret = {} for name, data in STOCK_TIMESERIES.read(repo, value_list) : logging.info((name,type(data),data.shape)) ret[name] = data return ret
def load(file_list, stock_list) : name_list = [] data_list = pd.DataFrame() for name, stock in STOCK_TIMESERIES.read(file_list, stock_list) : try : data_list[name] = stock['Adj Close'] name_list.append(name) except Exception as e : logging.error(e, exc_info=True) finally : pass return name_list, data_list
def load(value_list) : file_list = PREP.singleton().file_list ret = {} for name, data in STOCK_TIMESERIES.read(file_list, value_list) : flag, data = HELPER.is_stock_invalid(name, data) if flag : continue ret[name] = data msg = HELPER.round_values(**data) logging.info((name, msg)) return ret
def process(file_list, value_list): ret = {} for name, data in STOCK_TIMESERIES.read(file_list, value_list): data.sort_index(inplace=True) data = data['Adj Close'] data = MONTECARLO.find(data, risk_free_rate=0.02, period=FINANCE.YEAR, span=0) # filter stocks that have less than a year sharpe = data.get('sharpe', 0) if sharpe == 0: continue ret[name] = data return ret
def load(file_list, value_list): ret = {} for name, data in STOCK_TIMESERIES.read(file_list, value_list): data = MONTECARLO.find(data['Adj Close'], period=FINANCE.YEAR) #filter stocks that have less than a year sharpe = data.get('sharpe', 0) if sharpe == 0: continue #filter stocks that have negative returns returns = data.get('returns', 0) if returns <= 0: continue key_list = data.keys() value_list = map(lambda x: data[x], key_list) value_list = map(lambda x: round(x, 2), value_list) msg = dict(zip(key_list, value_list)) logging.info((name, msg)) ret[name] = data return ret
def load(cls, value_list): ret = {} for name, data in STOCK_TIMESERIES.read(cls.stock_data, value_list): ret[name] = data['Adj Close'] return ret
def load(cls, value_list): file_list = cls.singleton().file_list ret = {} for name, data in STOCK_TIMESERIES.read(file_list, value_list): ret[name] = data['Adj Close'] return ret