def __init__(self, engine, symbol_list, signal_param={}): self.name = 'sdiffer' self.tm = '00:00:00' self.got_dict = {} for symbol in symbol_list: self.got_dict[symbol] = False self.be_run = 'stop' self.d_low_open = -100.0 self.d_high_open = 100.0 self.d_low_mail = -100.0 self.d_high_mail = 100.0 self.mailed_low = False self.mailed_high = False self.load_switch() self.stop = False self.basic_m0 = None self.basic_m1 = None self.cacl_vars() self.symbol_obj = None self.d_base_dict = {} Portfolio.__init__(self, Fut_SdifferSignal, engine, symbol_list, signal_param)
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'ic' assert len(symbol_list) == 2 self.symbol_g = symbol_list[0] self.symbol_d = symbol_list[1] self.dual_name = self.symbol_g + '_' + self.symbol_d symbol_list.append(self.dual_name) self.direction_g = 'direction_g' self.num_g = 0 self.direction_d = 'direction_d' self.num_d = 0 self.got_dict = {} self.got_dict[self.symbol_g] = False self.got_dict[self.symbol_d] = False df = self.load_param() if df is not None: for i, row in df.iterrows(): if row.symbol_g in symbol_list and row.symbol_d in symbol_list: self.direction_g = row.symbol_g self.num_g = row.direction_g self.direction_d = row.num_g self.num_d = row.num_d Portfolio.__init__(self, Fut_IcSignal, engine, symbol_list, signal_param) self.name_second = 'ic_' + self.dual_name
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'ratio' assert len(symbol_list) == 2 self.symbol_c = symbol_list[0] self.symbol_p = symbol_list[1] self.dual_name = self.symbol_c + '_' + self.symbol_p self.got_dict = {} self.got_dict[self.symbol_c] = False self.got_dict[self.symbol_p] = False self.price_c = 0 self.price_p = 0 self.hold_c = 0 self.hold_p = 0 self.profit_c = 0 self.profit_p = 0 self.fixed_size = 1 self.gap = 100 self.profit = 100 self.load_param(self.symbol_c, self.symbol_p) Portfolio.__init__(self, Fut_RatioSignal, engine, symbol_list, signal_param) self.name_second = 'ratio_' + self.dual_name
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'turtle' self.multiplierDict = {} # 按照波动幅度计算的委托量单位字典 self.totalLong = 0 # 总的多头持仓 self.totalShort = 0 # 总的空头持仓 Portfolio.__init__(self, Fut_TurtleSignal, engine, symbol_list, signal_param)
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'dalicta' s_param = {} for symbol in symbol_list: s_param[symbol] = {'fixedSize': 6} Portfolio.__init__(self, Fut_DaLictaSignal, engine, symbol_list, s_param)
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'ratio' self.tm = '00:00:00' self.got_dict = {} for symbol in symbol_list: self.got_dict[symbol] = False Portfolio.__init__(self, Fut_RatioSignal, engine, symbol_list, signal_param)
def __init__(self, engine, name): Portfolio.__init__(self, engine) self.name = name self.vtSymbolList = [] self.SIZE_DICT = {} self.PRICETICK_DICT = {} self.VARIABLE_COMMISSION_DICT = {} self.FIXED_COMMISSION_DICT = {} self.SLIPPAGE_DICT = {}
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'straddle' self.tm = '00:00:00' self.got_dict = {} for symbol in symbol_list: self.got_dict[symbol] = False Portfolio.__init__(self, Fut_StraddleSignal, engine, symbol_list, signal_param) self.promote = True
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'skew_strd' self.tm = '00:00:00' self.got_dict = {} for symbol in symbol_list: self.got_dict[symbol] = False # self.d_base_dict = {} Portfolio.__init__(self, Fut_Skew_StrdSignal, engine, symbol_list, signal_param)
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'short_put' self.open_dict = {} self.close_dict = {} for symbol in symbol_list: self.open_dict[self.symbol] = False self.close_dict[self.symbol] = False Portfolio.__init__(self, Opt_Short_PutSignal, engine, symbol_list, signal_param) self.name_second = 'short_put_' + str(get_contract(symbol_list[0]).pz)
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'arbitrage' self.tm = '00:00:00' self.got_dict = {} for symbol in symbol_list: self.got_dict[symbol] = False config = open(get_dss()+'fut/cfg/config.json') setting = json.load(config) symbols = setting['symbols_arbitrage'] self.pz_list = symbols.split(',') # 进行套利监控的品种 self.slice_dict = {} # 每分种产生一个行情切片 self.id = 100 # 唯一标识套利机会,便于后续手工下单 Portfolio.__init__(self, Fut_ArbitrageSignal, engine, symbol_list, signal_param)
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'spread' self.tm = '00:00:00' self.got_dict = {} for symbol in symbol_list: self.got_dict[symbol] = False self.spread_dict = {} self.process_dict = {} fn = get_dss() + 'fut/engine/spread/portfolio_spread_param.csv' df = pd.read_csv(fn) for i, row in df.iterrows(): self.spread_dict[row.nm] = [row.s0, row.s1] self.process_dict[row.nm] = False Portfolio.__init__(self, Fut_SpreadSignal, engine, symbol_list, signal_param)
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'avenger' assert len(symbol_list) == 3 self.symbol_o = symbol_list[0] self.symbol_c = symbol_list[1] self.symbol_p = symbol_list[2] self.got_dict = {} self.got_dict[self.symbol_o] = False self.got_dict[self.symbol_c] = False self.got_dict[self.symbol_p] = False self.price_o = 0 self.price_o_high = 0 self.price_o_low = 0 self.price_c = 0 self.price_p = 0 self.hold_o = 0 self.hold_c = 0 self.hold_p = 0 self.profit_o = 0 self.profit_c = 0 self.profit_p = 0 self.switch_state = 'off' pz = str(get_contract(self.symbol_c).pz) fn = get_dss() + 'fut/engine/avenger/avenger_switch_' + pz + '.csv' if os.path.exists(fn): df = pd.read_csv(fn) if len(df) > 0: rec = df.iloc[-1, :] if rec.state == 'on': self.switch_state = 'on' rec.state = 'off' df2 = pd.DataFrame([rec]) df2.to_csv(fn, index=False) # 回写文件 Portfolio.__init__(self, Fut_AvengerSignal, engine, symbol_list, signal_param)
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'follow' self.symbol_o = '' self.symbol_c = '' self.symbol_p = '' for symbol in symbol_list: if symbol[:2] == 'IF': self.symbol_o = symbol break self.got_dict = {} self.strike_high = 0 self.strike_low = 0 self.price_o = 0 self.price_o_high = 0 self.price_o_low = 0 self.price_c = 0 self.price_p = 0 self.hold_o = 0 self.hold_c = 0 self.hold_p = 0 self.profit_o = 0 self.profit_c = 0 self.profit_p = 0 self.switch_state = 'off' fn = get_dss() + 'fut/engine/follow/follow_switch.csv' if os.path.exists(fn): df = pd.read_csv(fn) if len(df) > 0: rec = df.iloc[-1, :] if rec.state == 'on': self.switch_state = 'on' Portfolio.__init__(self, Fut_FollowSignal, engine, symbol_list, signal_param)
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'yue' assert len(symbol_list) == 2 self.symbol_a = symbol_list[0] self.symbol_b = symbol_list[1] self.dual_name = self.symbol_a + '_' + self.symbol_b symbol_list.append(self.dual_name) self.got_dict = {} self.got_dict[self.symbol_a] = False self.got_dict[self.symbol_b] = False df = self.load_param() if df is not None: for i, row in df.iterrows(): if row.symbol_a in symbol_list and row.symbol_b in symbol_list: pass Portfolio.__init__(self, Fut_YueSignal, engine, symbol_list, signal_param) self.name_second = 'yue_' + self.dual_name
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'follow' assert len(symbol_list) == 3 self.symbol_o = symbol_list[0] self.symbol_c = symbol_list[1] self.symbol_p = symbol_list[2] if self.symbol_o[:2] == 'IF': self.symbol_future = 'IO' + self.symbol_o[2:] else: self.symbol_future = self.symbol_o self.dual_name = self.symbol_future self.got_dict = {} self.got_dict[self.symbol_o] = False self.got_dict[self.symbol_c] = False self.got_dict[self.symbol_p] = False self.price_o = 0 self.price_o_high = 0 self.price_o_low = 0 self.price_c = 0 self.price_p = 0 self.hold_o = 0 self.hold_c = 0 self.hold_p = 0 self.profit_o = 0 self.profit_c = 0 self.profit_p = 0 self.flag_c, self.flag_p, self.strike_high, self.strike_low, self.fixed_size, self.switch_state, self.percent, self.gap = self.load_param(self.symbol_c, self.symbol_p) Portfolio.__init__(self, Fut_FollowSignal, engine, symbol_list, signal_param) self.name_second = 'follow_' + self.dual_name
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'ic' self.got_dict = {} self.dual_dict = {} df = self.load_param() if df is not None: for i, row in df.iterrows(): if row.symbol_g in symbol_list and row.symbol_d in symbol_list: symbol_list.append(row.symbol_dual) self.dual_dict[row.symbol_dual] = { 'symbol_g': row.symbol_g, 'direction_g': row.direction_g, 'num_g': row.num_g, 'symbol_d': row.symbol_d, 'direction_d': row.direction_d, 'num_d': row.num_d, } # 将品种对加入symbol_list symbol_list += self.dual_dict.keys() Portfolio.__init__(self, Fut_IcSignal, engine, symbol_list, signal_param)
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'swap' self.symbol_o = '' self.symbol_a = '' for symbol in symbol_list: if len(symbol) == 6: self.symbol_o = symbol break assert self.symbol_o != '' self.got_dict = {} self.price_o = 0 self.price_a = 0 self.hold_o = 0 self.hold_a = 0 self.profit_o = 0 self.profit_a = 0 self.can_duo = False self.can_kong = False self.switch_state = 'on' pz = str(get_contract(self.symbol_c).pz) fn = get_dss() + 'fut/engine/swap/swap_switch_' + pz + '.csv' if os.path.exists(fn): df = pd.read_csv(fn) if len(df) > 0: rec = df.iloc[-1, :] if rec.state == 'off': self.switch_state = 'off' Portfolio.__init__(self, Fut_SwapSignal, engine, symbol_list, signal_param)
def __init__(self, engine, symbol_list, signal_param={}): #Portfolio.__init__(self, Fut_AberrationSignal_Duo, engine, symbol_list, signal_param, Fut_AberrationSignal_Kong, signal_param) #Portfolio.__init__(self, Fut_AberrationSignal_Duo, engine, symbol_list, signal_param, None, None) Portfolio.__init__(self, Fut_AberrationSignal_Kong, engine, symbol_list, signal_param, None, None) self.name = 'aberration'
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'kama_raw' Portfolio.__init__(self, Fut_Kama_RawSignal_Duo, engine, symbol_list, signal_param, Fut_Kama_RawSignal_Kong, signal_param)
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'ma' Portfolio.__init__(self, Fut_MaSignal_Duo, engine, symbol_list, signal_param, Fut_MaSignal_Kong, signal_param)
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'owl' Portfolio.__init__(self, Fut_OwlSignal, engine, symbol_list, signal_param)
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'rsiboll' Portfolio.__init__(self, Fut_RsiBollSignal_Duo, engine, symbol_list, signal_param, Fut_RsiBollSignal_Kong, signal_param)
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'donchian' Portfolio.__init__(self, Fut_DonchianSignal_Duo, engine, symbol_list, signal_param, Fut_DonchianSignal_Kong, signal_param)
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'dalicta' Portfolio.__init__(self, Fut_DaLictaSignal_Duo, engine, symbol_list, signal_param, Fut_DaLictaSignal_Kong, signal_param) self.name_second = 'dalicta_' + str(get_contract(symbol_list[0]).pz)
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'atrrsi' Portfolio.__init__(self, Fut_AtrRsiSignal, engine, symbol_list, signal_param)
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'cci_enhance' Portfolio.__init__(self, Fut_Cci_EnhanceSignal_Duo, engine, symbol_list, signal_param, Fut_Cci_EnhanceSignal_Kong, signal_param)
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'aberration_raw' Portfolio.__init__(self, Fut_Aberration_RawSignal_Duo, engine, symbol_list, signal_param, Fut_Aberration_RawSignal_Kong, signal_param)
def __init__(self, engine, symbol_list, signal_param={}): self.name = 'dali' Portfolio.__init__(self, Fut_DaLiSignal, engine, symbol_list, signal_param)
def __init__(self, engine, symbol_list, signal_param={}): Portfolio.__init__(self, Fut_AberrationSignal, engine, symbol_list, signal_param) self.name = 'aberration'