def __init__(self, strategy_engine: StrategyEngine, strategy_name: str, vt_symbols: List[str], setting: dict): """""" super().__init__(strategy_engine, strategy_name, vt_symbols, setting) # self.y_symbol = (self.vt_symbols[0].split('.'))[0] # self.x_symbol = (self.vt_symbols[1].split('.'))[1] self.y_symbol = self.vt_symbols[0] self.x_symbol = self.vt_symbols[1] self.x_fixed_size = int(np.abs(self.fixed_size * self.x_multiplier)) self.y_fixed_size = int(np.abs(self.fixed_size * self.y_multiplier)) self.open_direction_dict['x_symbol'] = 0 self.open_direction_dict['y_symbol'] = 0 self.close_direction_dict['x_symbol'] = 0 self.close_direction_dict['y_symbol'] = 0 self.ams: Dict = {} self.ams[self.y_symbol] = ArrayManager(size=self.hedge_ratio_window + 50) self.ams[self.x_symbol] = ArrayManager(size=self.hedge_ratio_window + 50) self.sam = SpreadArrayManager( size=max(self.std_window, self.mean_window) + 50)
def __init__( self, strategy_engine: StrategyEngine, strategy_name: str, vt_symbols: List[str], setting: dict ): """""" super().__init__(strategy_engine, strategy_name, vt_symbols, setting) self.last_tick_time: datetime = None self.ams:Dict[str, ArrayManager] = {} self.bgs: Dict[str, BarGenerator] = {} # 策略内动态调整OLS相关参数,小数参数会被int() self.short_entry_multiplier = abs(self.entry_multiplier) self.short_exit_multiplier = 0 self.long_entry_multiplier = -abs(self.entry_multiplier) self.long_exit_multiplier = 0 self.mean_window = int(self.std_window * self.std_mean_window_ratio) self.y_symbol = self.vt_symbols[0] self.x_symbol = self.vt_symbols[1] self.x_fixed_size = np.abs(self.fixed_size * 1) self.y_fixed_size = np.abs(self.fixed_size * 1) self.x_pos_target = 0 self.y_pos_target = 0 # 实例化缓存期货品种价格序列容器 for vt_symbol in self.vt_symbols: self.ams[vt_symbol] = ArrayManager(size=max(self.std_window,self.mean_window)+50) #实例化bg容器 for vt_symbol in self.vt_symbols: def on_bar(bar: BarData): """""" pass self.bgs[vt_symbol] = BarGenerator(on_bar) # 实例化缓存价差价格序列容器 self.sam = SpreadArrayManager(size=max(self.std_window,self.mean_window)+50)
def __init__(self, strategy_engine: StrategyEngine, strategy_name: str, vt_symbols: List[str], setting: dict): """""" super().__init__(strategy_engine, strategy_name, vt_symbols, setting) # self.y_symbol = (self.vt_symbols[0].split('.'))[0] # self.x_symbol = (self.vt_symbols[1].split('.'))[1] self.y_symbol = self.vt_symbols[0] self.x_symbol = self.vt_symbols[1] self.x_fixed_size = int(np.abs(self.fixed_size * self.x_multiplier)) self.y_fixed_size = int(np.abs(self.fixed_size * self.y_multiplier)) self.open_direction_dict['x_symbol'] = 0 self.open_direction_dict['y_symbol'] = 0 self.close_direction_dict['x_symbol'] = 0 self.close_direction_dict['y_symbol'] = 0 self.sam = SpreadArrayManager()
def __init__(self, strategy_engine: StrategyEngine, strategy_name: str, vt_symbols: List[str], setting: dict): """""" super().__init__(strategy_engine, strategy_name, vt_symbols, setting) self.short_entry_multiplier = abs(self.entry_multiplier) self.short_exit_multiplier = 0 self.long_entry_multiplier = -abs(self.entry_multiplier) self.long_exit_multiplier = 0 self.mean_window = self.std_window # self.difference_exit_num = self.difference_filter_num / 2 self.y_symbol = self.vt_symbols[0] self.x_symbol = self.vt_symbols[1] self.x_fixed_size = int(np.abs(self.fixed_size * self.x_multiplier)) self.y_fixed_size = int(np.abs(self.fixed_size * self.y_multiplier)) self.open_direction_dict['x_symbol'] = 0 self.open_direction_dict['y_symbol'] = 0 self.close_direction_dict['x_symbol'] = 0 self.close_direction_dict['y_symbol'] = 0 # 实例化缓存期货品种价格序列容器 self.ams: Dict = {} self.ams[self.y_symbol] = ArrayManager(size=self.hedge_ratio_window + 50) self.ams[self.x_symbol] = ArrayManager(size=self.hedge_ratio_window + 50) # 实例化缓存价差价格序列容器 self.sam = SpreadArrayManager( size=max(self.std_window, self.mean_window) + 50) self.record_array = [] self.record_boll_up = [] self.record_boll_down = [] self.record_mean = []