def __init__(self): # # 继承基类 DataRecorder.__init__(self) # # -------------------------------------------------- # self.symbol = "rb1610" # self.exchange = "SHFE" self.period_key_list = ['M01', 'M03', 'M05', 'M10', 'M15', 'M30'] self.PERIOD = {} self.PERIOD['M01'] = PERIOD_M01 self.PERIOD['M03'] = PERIOD_M03 self.PERIOD['M05'] = PERIOD_M05 self.PERIOD['M10'] = PERIOD_M10 self.PERIOD['M15'] = PERIOD_M15 self.PERIOD['M30'] = PERIOD_M30 # Bar的时间戳 self.last_dt_bar = {} # 当前累积的Bar self.CntBar = {} # 上一个Bar self.last_bar = {} # # 有效的时间段 self.Section = {} self.Section['S10_beg'] = dt.time(9, 0, 0) self.Section['S10_end'] = dt.time(10, 15, 0) self.Section['S20_beg'] = dt.time(10, 30, 0) self.Section['S20_end'] = dt.time(11, 30, 0) self.Section['S30_beg'] = dt.time(13, 30, 0) self.Section['S30_end'] = dt.time(15, 0, 0) self.Section['S01_beg'] = dt.time(21, 0, 0) self.Section['S01_end'] = dt.time(23, 0, 0) self.Section['S02_beg'] = dt.time(0, 0, 0) self.Section['S02_end'] = dt.time(2, 30, 0)
def __init__(self): # # 继承基类 DataRecorder.__init__(self) # # -------------------------------------------------- # self.symbol = "rb1610" # self.exchange = "SHFE" self.period_key_list = ['M01', 'M03', 'M05', 'M10', 'M15', 'M30'] self.PERIOD = {} self.PERIOD['M01'] = PERIOD_M01 self.PERIOD['M03'] = PERIOD_M03 self.PERIOD['M05'] = PERIOD_M05 self.PERIOD['M10'] = PERIOD_M10 self.PERIOD['M15'] = PERIOD_M15 self.PERIOD['M30'] = PERIOD_M30 # Bar的时间戳 self.last_dt_bar = {} # 当前累积的Bar self.CntBar = {} # 上一个Bar self.last_bar = {} # # 有效的时间段 self.Section = {} self.Section['S10_beg'] = dt.time(9, 0, 0) self.Section['S10_end'] = dt.time(10, 15, 0) self.Section['S20_beg'] = dt.time(10, 30, 0) self.Section['S20_end'] = dt.time(11, 30, 0) self.Section['S30_beg'] = dt.time(13, 30, 0) self.Section['S30_end'] = dt.time(15, 0, 0) self.Section['S01_beg'] = dt.time(21, 0, 0) self.Section['S01_end'] = dt.time(23, 0, 0) self.Section['S02_beg'] = dt.time(0, 0, 0) self.Section['S02_end'] = dt.time(2, 30, 0)
def __init__(self): # # 继承基类 DataRecorder.__init__(self) # # -------------------------------------------------- self.tickfilter = False self.period_key_list = [ 'M01', 'M03', 'M05', 'M10', 'M15', 'M30', 'H01', 'D01', 'W01' ] self.PERIOD = {} self.PERIOD['M01'] = PERIOD_M01 self.PERIOD['M03'] = PERIOD_M03 self.PERIOD['M05'] = PERIOD_M05 self.PERIOD['M10'] = PERIOD_M10 self.PERIOD['M15'] = PERIOD_M15 self.PERIOD['M30'] = PERIOD_M30 self.PERIOD['H01'] = PERIOD_H01 self.PERIOD['D01'] = PERIOD_D01 self.PERIOD['W01'] = PERIOD_W01 # Bar的时间戳 self.last_dt_bar = {} # 当前累积的Bar self.CntBar = {} # 上一个Bar self.last_bar = {} # # 获取合约 req = BfGetContractReq(symbol="*", exchange="*") resps = self.GwGetContract(req) symbol_list = [] for resp in resps: print resp self.InsertContract(resp) symbol_list = symbol_list + [resp.symbol] print '*' * 60 # # 根据合约初始化 for symbol in symbol_list: if symbol not in self.last_dt_bar.keys(): self.last_dt_bar[symbol] = {} self.CntBar[symbol] = {} self.last_bar[symbol] = {} dt_now = dt.datetime.now() for k in self.period_key_list: self.last_dt_bar[symbol][k] = dt.datetime( dt_now.year, dt_now.month, dt_now.day, dt_now.hour, dt_now.minute / int(k[1:]) * int(k[1:]), 0) self.CntBar[symbol][k] = BfBarData() self.last_bar[symbol][k] = BfBarData()
def __init__(self): # # 继承基类 DataRecorder.__init__(self) # # -------------------------------------------------- self.tickfilter = False self.period_key_list = ['M01', 'M03', 'M05', 'M10', 'M15', 'M30', 'H01', 'D01', 'W01'] self.PERIOD = {} self.PERIOD['M01'] = PERIOD_M01 self.PERIOD['M03'] = PERIOD_M03 self.PERIOD['M05'] = PERIOD_M05 self.PERIOD['M10'] = PERIOD_M10 self.PERIOD['M15'] = PERIOD_M15 self.PERIOD['M30'] = PERIOD_M30 self.PERIOD['H01'] = PERIOD_H01 self.PERIOD['D01'] = PERIOD_D01 self.PERIOD['W01'] = PERIOD_W01 # Bar的时间戳 self.last_dt_bar = {} # 当前累积的Bar self.CntBar = {} # 上一个Bar self.last_bar = {} # # 获取合约 req = BfGetContractReq(symbol="*", exchange="*") resps = self.GwGetContract(req) symbol_list = [] for resp in resps: print resp self.InsertContract(resp) symbol_list = symbol_list + [resp.symbol] print '*' * 60 # # 根据合约初始化 for symbol in symbol_list: if symbol not in self.last_dt_bar.keys(): self.last_dt_bar[symbol] = {} self.CntBar[symbol] = {} self.last_bar[symbol] = {} dt_now = dt.datetime.now() for k in self.period_key_list: self.last_dt_bar[symbol][k] = dt.datetime(dt_now.year, dt_now.month, dt_now.day, dt_now.hour, dt_now.minute / int(k[1:]) * int(k[1:]), 0) self.CntBar[symbol][k] = BfBarData() self.last_bar[symbol][k] = BfBarData()
def __init__(self): # # 继承基类 DataRecorder.__init__(self) # # -------------------------------------------------- self.tickfilter = False self.period_key_list = [ 'M01', 'M03', 'M05', 'M10', 'M15', 'M30', 'H01', 'D01', 'W01' ] self.PERIOD = {} self.PERIOD['M01'] = PERIOD_M01 self.PERIOD['M03'] = PERIOD_M03 self.PERIOD['M05'] = PERIOD_M05 self.PERIOD['M10'] = PERIOD_M10 self.PERIOD['M15'] = PERIOD_M15 self.PERIOD['M30'] = PERIOD_M30 self.PERIOD['H01'] = PERIOD_H01 self.PERIOD['D01'] = PERIOD_D01 self.PERIOD['W01'] = PERIOD_W01 # Bar的时间戳 self.last_dt_bar = {} # 当前累积的Bar self.CntBar = {} # 上一个Bar self.last_bar = {} # 用于储存一个M01之内的DataFrame self.lastPrice_df = {} self.openInterest_df = {} self.volume_df = {} # # 获取合约 req = BfGetContractReq(symbol="*", exchange="*") resps = self.GwGetContract(req) symbol_list = [] for resp in resps: print resp self.InsertContract(resp) symbol_list = symbol_list + [resp.symbol] print '*' * 60 # # 根据合约初始化 self.symbol_df = pd.DataFrame(columns=['symN', 'symC']) for symbol in symbol_list: if symbol not in self.symbol_df.index: sym_df = pd.DataFrame([ re.findall(r'[a-zA-Z]+', symbol), re.findall(r'[0-9]+', symbol) ], index=['symN', 'symC'], columns=[symbol]).T self.symbol_df = self.symbol_df.append(sym_df) print self.symbol_df symN_list = list(set(self.symbol_df['symN'])) for symN in symN_list: if symN not in self.lastPrice_df.keys(): self.lastPrice_df[symN] = pd.DataFrame( 0, columns=self.symbol_df[self.symbol_df['symN'] == symN].index, index=[dt.datetime(2016, 1, 1, 0, 0, 0)]) self.openInterest_df[symN] = pd.DataFrame( 0, columns=self.symbol_df[self.symbol_df['symN'] == symN].index, index=[dt.datetime(2016, 1, 1, 0, 0, 0)]) self.volume_df[symN] = pd.DataFrame( 0, columns=self.symbol_df[self.symbol_df['symN'] == symN].index, index=[dt.datetime(2016, 1, 1, 0, 0, 0)]) self.last_dt_bar[symN] = {} self.CntBar[symN] = {} self.last_bar[symN] = {} for k in self.period_key_list: self.last_dt_bar[symN][k] = dt.datetime( 2016, 1, 1, 0, 0, 0) self.CntBar[symN][k] = BfBarData() self.last_bar[symN][k] = BfBarData()
def __init__(self): # # 继承基类 DataRecorder.__init__(self) # # -------------------------------------------------- self.tickfilter = False self.period_key_list = ['M01', 'M03', 'M05', 'M10', 'M15', 'M30', 'H01', 'D01', 'W01'] self.PERIOD = {} self.PERIOD['M01'] = PERIOD_M01 self.PERIOD['M03'] = PERIOD_M03 self.PERIOD['M05'] = PERIOD_M05 self.PERIOD['M10'] = PERIOD_M10 self.PERIOD['M15'] = PERIOD_M15 self.PERIOD['M30'] = PERIOD_M30 self.PERIOD['H01'] = PERIOD_H01 self.PERIOD['D01'] = PERIOD_D01 self.PERIOD['W01'] = PERIOD_W01 # Bar的时间戳 self.last_dt_bar = {} # 当前累积的Bar self.CntBar = {} # 上一个Bar self.last_bar = {} # 用于储存一个M01之内的DataFrame self.lastPrice_df = {} self.openInterest_df = {} self.volume_df = {} # # 获取合约 req = BfGetContractReq(symbol="*", exchange="*") resps = self.GwGetContract(req) symbol_list = [] for resp in resps: print resp self.InsertContract(resp) symbol_list = symbol_list + [resp.symbol] print '*' * 60 # # 根据合约初始化 self.symbol_df = pd.DataFrame(columns=['symN','symC']) for symbol in symbol_list: if symbol not in self.symbol_df.index: sym_df = pd.DataFrame([re.findall(r'[a-zA-Z]+', symbol), re.findall(r'[0-9]+', symbol)], index=['symN', 'symC'],columns=[symbol]).T self.symbol_df = self.symbol_df.append(sym_df) print self.symbol_df symN_list = list(set(self.symbol_df['symN'])) for symN in symN_list: if symN not in self.lastPrice_df.keys(): self.lastPrice_df[symN] = pd.DataFrame(0, columns=self.symbol_df [self.symbol_df ['symN']==symN].index, index=[dt.datetime(2016, 1, 1, 0, 0, 0)]) self.openInterest_df[symN] = pd.DataFrame(0, columns=self.symbol_df[self.symbol_df['symN'] == symN].index, index=[dt.datetime(2016, 1, 1, 0, 0, 0)]) self.volume_df[symN] = pd.DataFrame(0, columns=self.symbol_df[self.symbol_df['symN'] == symN].index, index=[dt.datetime(2016, 1, 1, 0, 0, 0)]) self.last_dt_bar[symN] = {} self.CntBar[symN] = {} self.last_bar[symN] = {} for k in self.period_key_list: self.last_dt_bar[symN][k] = dt.datetime(2016, 1, 1, 0, 0, 0) self.CntBar[symN][k] = BfBarData() self.last_bar[symN][k] = BfBarData()