def update_vars(self): self._curbar = self._next_bar self.open.update_curbar(self._curbar) self.close.update_curbar(self._curbar) self.high.update_curbar(self._curbar) self.low.update_curbar(self._curbar) self.volume.update_curbar(self._curbar) self.datetime.update_curbar(self._curbar) self.bar = Bar(self.datetime[0], self.open[0], self.close[0], self.high[0], self.low[0], self.volume[0])
def update_system_vars(self): # self.data = np.append(data, tracker.container_day) self._curbar = self.last_curbar self.open.update_curbar(self._curbar) self.close.update_curbar(self._curbar) self.high.update_curbar(self._curbar) self.low.update_curbar(self._curbar) self.volume.update_curbar(self._curbar) self.datetime.update_curbar(self._curbar) self.bar = Bar(self.datetime[0], self.open[0], self.close[0], self.high[0], self.low[0], self.volume[0]) self.new_row = False
def __init__(self, pcontract, raw_data): self.open = NumberSeries(raw_data.open.values, 'open') self.close = NumberSeries(raw_data.close.values, 'close') self.high = NumberSeries(raw_data.high.values, 'high') self.low = NumberSeries(raw_data.low.values, 'low') self.volume = NumberSeries(raw_data.volume.values, 'volume') self.datetime = DateTimeSeries(raw_data.index, 'datetime') self.bar = Bar(None, None, None, None, None, None) self.has_pending_data = False self.next_datetime = datetime.datetime(2100, 1, 1) self.size = len(raw_data.close) self.pcontract = pcontract self._curbar = -1 self._helper = RollingHelper(len(raw_data)) self._raw_data = raw_data
def __init__(self, wrapper, window_size): """ window_size: 滚动窗口大小 """ self.wrapper = wrapper self.series = [[{ }]] self.indicators = [[{ }]] self.variables = [[{ }]] data = self.wrapper.data self.window_size = window_size self.open = NumberSeries(data.open.values, self.window_size, 'open') self.close = NumberSeries(data.close.values, self.window_size, 'close') self.high = NumberSeries(data.high.values, self.window_size, 'high') self.low = NumberSeries(data.low.values, self.window_size, 'low') self.volume = NumberSeries(data.volume.values, self.window_size, 'volume') self.datetime = DateTimeSeries(data.index, self.window_size, 'datetime') self.i = -1 # 第i个组合 self.j = -1 # 第j个策略 self._curbar = -1 self.bar = Bar(None, None, None, None, None, None) self.last_row = [] self.last_date = datetime.datetime(2100,1,1)
def __init__(self, wrapper): data = wrapper.data self.open = NumberSeries(data.open.values, 'open') self.close = NumberSeries(data.close.values, 'close') self.high = NumberSeries(data.high.values, 'high') self.low = NumberSeries(data.low.values, 'low') self.volume = NumberSeries(data.volume.values, 'volume') self.datetime = DateTimeSeries(data.index, 'datetime') self.i = -1 # 第i个组合 self.j = -1 # 第j个策略 self.bar = Bar(None, None, None, None, None, None) self.last_row = [] self.last_date = datetime.datetime(2100, 1, 1) self.indicators = [[{}]] self._curbar = -1 self._wrapper = wrapper self._series = [[{}]] self._variables = [[{}]] self._all_variables = [[{}]] self._size = len(data.close)
def __init__(self, Helper): data = Helper.data self.open = NumberSeries(data.open.values, 'open') self.close = NumberSeries(data.close.values, 'close') self.high = NumberSeries(data.high.values, 'high') self.low = NumberSeries(data.low.values, 'low') self.volume = NumberSeries(data.volume.values, 'volume') self.datetime = DateTimeSeries(data.index, 'datetime') self.ith_comb = -1 # 第i个组合 self.ith_strategy = -1 # 第j个策略 self.bar = Bar(None, None, None, None, None, None) self.new_row = False self.next_datetime = datetime.datetime(2100, 1, 1) self.technicals = [[{}]] self._curbar = -1 self._Helper = Helper self._series = [[{}]] self._variables = [[{}]] self._all_variables = [[{}]] self._size = len(data.close)
def update_curbar(self, index): """ 新的bar数据到达时,更新相关信息, 如其负责维护的时间序列对象变量的最新值。 :param int index: 当前bar索引。 :return: 最新的Bar对象。 :rtype: Bar """ self.curbar = index self.open.update_curbar(index) self.close.update_curbar(index) self.high.update_curbar(index) self.low.update_curbar(index) self.volume.update_curbar(index) self.datetime.update_curbar(index) for serie in self._series: serie.update_curbar(index) serie.duplicate_last_element() return Bar(self.datetime[0], self.open[0], self.close[0], self.high[0], self.low[0], self.volume[0])
def update_system_vars(self): # 为当天数据预留空间, 改变g_window或者一次性分配 #self.data = np.append(data, tracker.container_day) self._curbar = self.last_curbar self.open.update_curbar(self._curbar) self.close.update_curbar(self._curbar) self.high.update_curbar(self._curbar) self.low.update_curbar(self._curbar) self.volume.update_curbar(self._curbar) self.datetime.update_curbar(self._curbar) # 更新数据源 if series.g_rolling: self.datetime.update(self.last_row[0]) self.open.update(self.last_row[1]) self.close.update(self.last_row[2]) self.high.update(self.last_row[3]) self.low.update(self.last_row[4]) self.volume.update(self.last_row[5]) self.bar = Bar(self.datetime[0], self.open[0], self.close[0], self.high[0], self.low[0], self.volume[0]) self.last_row = [] return