예제 #1
0
 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
예제 #3
0
 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
예제 #4
0
 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)
예제 #5
0
    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)
예제 #7
0
    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])
예제 #8
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