示例#1
0
def debug_pub(exchange, model, routing_key, user, password, host, port,
              content):
    if model == 'fanout':
        publisher(host=host,
                  port=port,
                  user=user,
                  password=password,
                  exchange=exchange).pub(content)
    elif model == 'direct':
        print(routing_key)
        publisher_routing(host=host,
                          port=port,
                          user=user,
                          password=password,
                          exchange=exchange,
                          routing_key=routing_key).pub(content,
                                                       routing_key=routing_key)
    elif model == 'topic':
        publisher_topic(host=host,
                        port=port,
                        user=user,
                        password=password,
                        exchange=exchange,
                        routing_key=routing_key).pub(content,
                                                     routing_key=routing_key)
 def __init__(self, code):
     self.data = {}
     self.min5_data = {}
     self.pro = producer.publisher(host=eventmq_ip, exchange='1min_{}'.format(code), 
             user=market_data_user, password=market_data_password)
     self.pro_realtimemin = producer.publisher(host=eventmq_ip, exchange='realtime_min_{}'.format(
         code), user=market_data_user, password=market_data_password)
     self.is_send = False
     self.last_volume = 0
     self.c = consumer.subscriber_routing(host=eventmq_ip,
                                          exchange='CTPX', routing_key=code, user=market_data_user, password=market_data_password)
    def __init__(self, frequency='5min'):
        """
        暂时不支持单个股票重采样
        :param frequency:
        """
        super().__init__()
        if isinstance(frequency, float):
            self.frequency = int(frequency)
        elif isinstance(frequency, str):
            _frequency = frequency.replace('min', '')
            if str.isnumeric(_frequency):
                self.frequency = int(_frequency)
            else:
                print("unknown frequency: %s" % frequency)
                return
        elif isinstance(frequency, int):
            self.frequency = frequency
        else:
            print("unknown frequency: %s" % frequency)
            return

        self.market_data = None

        # 接收stock tick 数据
        self.sub = subscriber(
            host=eventmq_ip, exchange='realtime_stock_min')
        self.sub.callback = self.stock_min_callback
        # 发送重采样的数据
        self.pub = publisher(
            host=eventmq_ip, exchange='realtime_stock_{}_min'.format(self.frequency))
        threading.Thread(target=self.sub.start).start()

        print("QA_REALTIME_COLLECTOR_STOCK_BAR_RESAMPLER INIT, frequency: %s" % self.frequency)
示例#4
0
 def __init__(self,
              delay=10.5,
              date: datetime.datetime = None,
              log_dir='./log',
              debug=False):
     super().__init__(name='QA_REALTIME_COLLECTOR_STOCK_BAR',
                      thread_num=None,
                      timeout=0.5)
     cur_time = datetime.datetime.now() if date is None else date
     # set qa_tdx_excutor is debug mode
     self.debug = debug
     self.cur_year = cur_time.year
     self.cur_month = cur_time.month
     self.cur_day = cur_time.day
     self.isRequesting = False
     self.delay = delay  # 数据获取请求间隔
     self.code_list = []
     self.sub = subscriber_routing(host=eventmq_ip,
                                   exchange='QARealtime_Market',
                                   routing_key='stock')
     self.sub.callback = self.callback
     self.pub = publisher(host=eventmq_ip, exchange='realtime_stock_min')
     self.log_dir = log_dir
     self.pre_market_data = None
     self.last_update_time = cur_time
     threading.Thread(target=self.sub.start, daemon=True).start()
     logger.info("QA_REALTIME_COLLECTOR_STOCK_BAR INIT, delay %s" %
                 self.delay)
 def __init__(self):
     super().__init__(name='QAREALTIME_COLLECTOR_STOCK')
     self.codelist = []
     self.sub = subscriber_routing(host=eventmq_ip,
                                   exchange='QARealtime_Market',
                                   routing_key='stock')
     self.sub.callback = self.callback
     self.pub = publisher(host=eventmq_ip, exchange='stocktransaction')
     threading.Thread(target=self.sub.start, daemon=True).start()
    def __init__(self, code, subexchange='tick'):
        self.data = {}
        self.is_send = False
        self.last_volume = 0

        self.pro = producer.publisher(exchange='bar_1min_{}'.format(code),
                                      user='******',
                                      password='******',
                                      host=eventmq_ip)
        self.pro_realtimemin = producer.publisher(
            exchange='realtime_min_{}'.format(code),
            user='******',
            password='******',
            host=eventmq_ip)
        self.c = consumer.subscriber_routing(exchange='tick',
                                             routing_key=code,
                                             user='******',
                                             password='******',
                                             host=eventmq_ip)

        print('start ctptick collector {}'.format(code))
 def __init__(self, delay=30.5):
     super().__init__(name='QA_REALTIME_COLLECTOR_STOCK_BAR')
     # 数据获取请求间隔
     self.isOK = True
     self.delay = delay
     self.codelist = []
     self.sub = subscriber_routing(host=eventmq_ip,
                                   exchange='QARealtime_Market',
                                   routing_key='stock')
     self.sub.callback = self.callback
     self.pub = publisher(host=eventmq_ip, exchange='realtime_stock_min')
     print("QA_REALTIME_COLLECTOR_STOCK_BAR INIT, delay %s" % self.delay)
     threading.Thread(target=self.sub.start, daemon=True).start()
 def __init__(self, code='rb1910', freqence='60min', model='tb'):
     super().__init__()
     self.code = code
     self.freqence = freqence
     self.sub = subscriber(host=eventmq_ip,
                           exchange='realtime_min_{}'.format(self.code))
     self.pub = publisher(host=eventmq_ip,
                          exchange='realtime_{}_{}'.format(
                              self.freqence, self.code))
     self.sub.callback = self.callback
     self.market_data = []
     self.dt = None
     self.model = model
    def __init__(self,
                 frequency='5min',
                 date: datetime.datetime = None,
                 log_dir='./log'):
        """
        暂时不支持单个股票重采样
        :param frequency:
        """
        super().__init__()
        logger.info("QA实时股票Bar重采样,初始化...周期: %s" % frequency)
        if isinstance(frequency, float):
            self.frequency = int(frequency)
        elif isinstance(frequency, str):
            _frequency = frequency.replace('min', '')
            if str.isnumeric(_frequency):
                self.frequency = int(_frequency)
            else:
                logger.error("不支持的周期 unknownFrequency: %s" % frequency)
                return
        elif isinstance(frequency, int):
            self.frequency = frequency
        else:
            logger.error("不支持的周期 unknownFrequency: %s" % frequency)
            return

        self.market_data = None

        # 接收stock tick 数据
        self.sub = subscriber(host=eventmq_ip, exchange='realtime_stock_min')
        self.sub.callback = self.on_message_callback
        self.stock_sub = subscriber_routing(host=eventmq_ip,
                                            exchange='QARealtime_Market',
                                            routing_key='stock')
        self.stock_sub.callback = self.on_stock_subscribe_message_callback
        # 发送重采样的数据
        self.pub = publisher(host=eventmq_ip,
                             exchange='realtime_stock_{}_min'.format(
                                 self.frequency))
        self.count = 0
        self.code_list = []
        cur_time = datetime.datetime.now() if date is None else date
        self.cur_year = cur_time.year
        self.cur_month = cur_time.month
        self.cur_day = cur_time.day
        # 多进程计算
        self.cpu_count = multiprocessing.cpu_count() - 1
        self.log_dir = log_dir
        threading.Thread(target=self.sub.start, daemon=True).start()
        threading.Thread(target=self.stock_sub.start, daemon=True).start()
示例#10
0
    def __init__(self, investor='008107', pwd='1', broker='9999', front_md='tcp://180.168.146.187:10031', front_td='tcp://180.168.146.187:10030'):

        self.req = 0
        self.ordered = False
        self.needAuth = False
        self.RelogEnable = True
        self.broker = broker
        self.investor = investor
        self.pwd = pwd
        self.front_md = front_md
        self.front_td = front_td
        self.prepare()
        self.market_data = []
        self.min_t = 0
        self._trading_code = []
        self.pro = producer.publisher(exchange='ctp')
        self.subscribed_code = []
示例#11
0
#!/usr/bin/env python

from QAPUBSUB import producer

import zsorder_pb2

# z1= subscriber_routing(exchange='xx',routing_key='x1')
# z2 = subscriber_routing(exchange='xx',routing_key='x2')
# z3 = subscriber_routing(exchange='xx',routing_key='x2')

# z1.callback= lambda a,b,c,x: print('FROM X1 {}'.format(x))
# z2.callback= lambda a,b,c,x: print('FROM X2 {}'.format(x))
# z3.callback= lambda a,b,c,x: print('FROM X3 {}'.format(x))
# p = publisher_routing(exchange='zsorder')
p = producer.publisher(exchange='zsorder')

# threading.Thread(target=z1.start).start()

# threading.Thread(target=z2.start).start()
# threading.Thread(target=z3.start).start()

zsorder = zsorder_pb2.zsorder()
zsorder.code = '000001'
zsorder.vol = 1000
zsorder.price = 0.0
zsorder.bsflg = 1

# p.pub('xxxxx',routing_key='x1')

# p.pub('1',routing_key='x2')
print(zsorder.SerializeToString())
示例#12
0
from QAPUBSUB import producer

c = producer.publisher(exchange='ctp')
while True:
    c.pub('I1111111')