示例#1
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)
示例#2
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)
示例#3
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()
示例#4
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()
示例#5
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 = {}

        # 用于储存一个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()
示例#6
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 = {}

        # 用于储存一个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()