예제 #1
0
파일: backtest.py 프로젝트: ghotiv/Bigfish
 def __init__(self,
              user,
              name,
              code,
              symbols=None,
              time_frame=None,
              start_time=None,
              end_time=None,
              data_generator=data_generator):
     self.__setting = {
         'user': user,
         'name': name,
         'symbols': symbols,
         'time_frame': time_frame,
         'start_time': start_time,
         'end_time': end_time
     }
     self.__strategy_engine = StrategyEngine(is_backtest=True)
     self.__strategy = Strategy(self.__strategy_engine, user, name, code,
                                symbols, time_frame, start_time, end_time)
     self.__strategy_parameters = None
     self.__strategy_engine.add_strategy(self.__strategy)
     self.__data_generator = data_generator(self.__strategy_engine)
     self.__performance_manager = None
     self.__thread = None
     self.__is_alive = False
예제 #2
0
 def init(self):
     if self.__initialized:
         return True
     assert isinstance(self._config, BfConfig)  # 判断初始化前是否设置好了基本参数
     self.__strategy_engine = StrategyEngine(parent=self)
     self.__strategy = Strategy(self.__strategy_engine, self.__code, parent=self)
     self.__strategy_engine.add_strategy(self.__strategy)
     self.__data_generator = TickDataGenerator(lambda x: self.__strategy_engine.put_event(x.to_event()),
                                               lambda: self.__strategy_engine.put_event(Event(EVENT_FINISH)),
                                               parent=self)
     if DEBUG:
         self.logger.setLevel(logging.DEBUG)
     else:
         self.logger.setLevel(logging.INFO)
     self.__initialized = True
예제 #3
0
 def __init__(self,
              user,
              name,
              code,
              symbols=None,
              time_frame=None,
              start_time=None,
              end_time=None,
              data_generator=DataGeneratorMongoDB):
     self.__setting = {
         'symbols': symbols,
         'time_frame': time_frame,
         'start_time': start_time,
         'end_time': end_time
     }
     self.__strategy_engine = StrategyEngine(backtesting=True)
     self.__strategy = Strategy(self.__strategy_engine, user, name, code,
                                symbols, time_frame, start_time, end_time)
     self.__strategy_parameters = None
     self.__strategy_engine.add_strategy(self.__strategy)
     self.__data_generator = data_generator(self.__strategy_engine)
     self.__performance_manager = None
     self.__performance = None