def __init__(self, pcontracts, dt_start="1980-1-1", dt_end="2100-1-1", n=None, spec_date={}): # 'symbol':[,] """ Args: pcontracts (list): list of pcontracts(string) dt_start (datetime/str): start time of all pcontracts dt_end (datetime/str): end time of all pcontracts n (int): last n bars spec_date (dict): time range for specific pcontracts """ self.finished_data = [] pcontracts = map(lambda x: x.upper(), pcontracts) self.pcontracts = pcontracts self._combs = [] self._data_manager = DataManager() # str(PContract): DataWrapper if settings['source'] == 'csv': self.pcontracts = self._parse_pcontracts(self.pcontracts) self._default_pcontract = self.pcontracts[0] self._all_data, self._max_window = self._load_data( self.pcontracts, dt_start, dt_end, n, spec_date) self.context = Context(self._all_data, self._max_window)
def __init__(self): log.info("Init Backend..") self._dm = DataManager() self._engine = ZMQEventEngine('Backend') self._engine.start() self._shell_srv = EventRPCServer(self._engine, self.SERVER_FOR_SHELL) self._ui_srv = EventRPCServer(self._engine, self.SERVER_FOR_UI) self.register_functions(self._shell_srv) self.register_functions(self._ui_srv)
def __init__(self, pcontracts, window_size=0, dt_start=datetime(1980,1,1), dt_end=datetime(2100,1,1), spec_date = { }): # 'symbol':[,] series.g_rolling = False if window_size == 0 else True series.g_window = window_size self.all_data = OrderedDict() # str(PContract): DataWrapper self.finished_data = [] pcontracts = map(lambda x: x.upper(), pcontracts) self.pcontracts = pcontracts self._combs = [] self._window_size = window_size + 1 self._data_manager = DataManager() for pcon in pcontracts: if pcon in spec_date: dt_start = spec_date[pcon][0] dt_end = spec_date[pcon][1] assert(dt_start < dt_end) self.load_data(pcon, dt_start, dt_end) self.context = Context(self.all_data)
def test_csv_source(self): source_bak = ConfigUtil.get('source') logger.info('***** 数据测试开始 *****') ConfigUtil.set(source='csv') data_manager = DataManager() target = data_manager.get_bars('BB.TEST-1.Minute', _DT_START, _DT_END).data fname = os.path.join(os.getcwd(), 'data', '1MINUTE', 'TEST', 'CC.csv') source = pd.read_csv(fname, parse_dates='datetime', index_col='datetime') self.assertFalse(source.equals(target), '本地数据接口负测试失败!') fname = os.path.join(os.getcwd(), 'data', '1MINUTE', 'TEST', 'BB.csv') source = pd.read_csv(fname, parse_dates='datetime', index_col='datetime') self.assertTrue(source.equals(target), '本地数据接口正测试失败!') logger.info('-- 本地数据接口测试成功 --') ConfigUtil.set(source=source_bak) logger.info('***** 数据测试结束 *****\n')
def get_pcontract(self, str_pcontract): dm = DataManager() da = dm.get_bars(str_pcontract) return serialize_pcontract_bars(str_pcontract, da.data)