コード例 #1
0
def send_new_order(socket, msg):
    custom_log.log_debug_task("Send NewOrder")
    msg_str = msg.SerializeToString()
    msg_type = const.MSG_TYPEID_ENUMS.NewOrder
    msg_list = [six.int2byte(msg_type), msg_str]

    socket.send_multipart(msg_list)
コード例 #2
0
def socket_init(server_name):
    context = zmq.Context().instance()
    custom_log.log_debug_task("Connecting to server:%s" % server_name)
    socket = context.socket(zmq.DEALER)
    socket.setsockopt(
        zmq.IDENTITY, b'172.16.11.127-eod-%s' %
        date_utils.get_now().strftime("%Y/%m/%d %H:%M:%S.%f"))
    socket.connect(server_constant.get_connect_address(server_name))
    return socket
コード例 #3
0
def send_login_msg(socket, user_name='eod'):
    msg = AllProtoMsg_pb2.LoginMsg()
    msg.UserName = user_name

    custom_log.log_debug_task("Send LoginMsg")
    msg_str = msg.SerializeToString()
    msg_type = const.MSG_TYPEID_ENUMS.Login
    msg_list = [six.int2byte(msg_type), msg_str]
    socket.send_multipart(msg_list)

    recv_message = socket.recv_multipart()
    print recv_message
コード例 #4
0
def send_tradeserverinfo_request_msg(socket):
    msg = AllProtoMsg_pb2.TradeServerInfoRequestMsg()
    custom_log.log_debug_task("Send TradeServerInfoRequestMsg")
    msg_str = msg.SerializeToString()
    msg_type = const.MSG_TYPEID_ENUMS.TradeServerInfoRequest
    msg_list = [six.int2byte(msg_type), msg_str]

    socket.send_multipart(msg_list)
    recv_message = socket.recv_multipart()
    custom_log.log_debug_task("Recv TradeServerInfoResponseMsg.")
    tradeserverinfo_msg = AllProtoMsg_pb2.TradeServerInfoResponseMsg()
    tradeserverinfo_msg.ParseFromString(zlib.decompress(recv_message[1]))
    return tradeserverinfo_msg
コード例 #5
0
def send_cancel_order_msg(socket, order_id):
    msg = AllProtoMsg_pb2.CancelOrderMsg()
    msg.SysOrdID = order_id
    # A: mark as canceled
    msg.MarkAsCanceled = True
    # B: mark as fill canceled
    # msg.MarkAsFillCanceled = True

    custom_log.log_debug_task("Send CancelOrderMsg:%s" % msg)
    msg_str = msg.SerializeToString()
    msg_type = const.MSG_TYPEID_ENUMS.CancelOrder
    msg_list = [six.int2byte(msg_type), msg_str]
    socket.send_multipart(msg_list)
コード例 #6
0
def send_position_risk_request_msg2(socket):
    msg = AllProtoMsg_pb2.PositionRiskRequestMsg()
    custom_log.log_debug_task("Send PositionRiskRequestMsg")
    msg_str = msg.SerializeToString()
    msg_type = const.MSG_TYPEID_ENUMS.PositionRiskRequest
    msg_list = [six.int2byte(msg_type), msg_str]

    socket.send_multipart(msg_list)
    recv_message = socket.recv_multipart()
    custom_log.log_debug_task("Recv PositionRiskResponseMsg.")
    position_risk_msg = AllProtoMsg_pb2.PositionRiskResponseMsg()
    position_risk_msg.ParseFromString(zlib.decompress(recv_message[1]))
    return position_risk_msg
コード例 #7
0
def send_server_parameter_change_request_msg(socket, command, location,
                                             service_name):
    msg = AllProtoMsg_pb2.ServerParameterChangeRequestMsg()
    msg.Command = command
    msg.Location = location
    msg.ServiceName = service_name
    custom_log.log_debug_task("Send ServerParameterChangeRequestMsg")
    msg_str = msg.SerializeToString()
    msg_list = [six.int2byte(13), msg_str]

    socket.send_multipart(msg_list)
    recv_message = socket.recv_multipart()
    custom_log.log_debug_task("Recv Msg.")
    recv_result = six.byte2int(recv_message[0])
    return recv_result
コード例 #8
0
def send_strategy_info_request_msg(socket, is_first_request=True):
    msg = AllProtoMsg_pb2.StrategyInfoRequestMsg()
    msg.IsFirstRequest = is_first_request
    custom_log.log_debug_task("Send StrategyInfoRequestMsg")
    msg_str = msg.SerializeToString()
    msg_type = const.MSG_TYPEID_ENUMS.StrategyInfoRequest
    msg_list = [six.int2byte(msg_type), msg_str]

    socket.send_multipart(msg_list)
    recv_message = socket.recv_multipart()
    custom_log.log_debug_task("Recv StrategyInfoResponseMsg.")
    strategy_info_response_msg = AllProtoMsg_pb2.StrategyInfoResponseMsg()
    strategy_info_response_msg.ParseFromString(zlib.decompress(
        recv_message[1]))
    return strategy_info_response_msg
コード例 #9
0
def send_strategy_parameter_change_request_msg(socket, strategy_name, location,
                                               control_flag):
    msg = AllProtoMsg_pb2.StrategyParameterChangeRequestMsg()
    msg.Name = strategy_name
    msg.IsEnable = control_flag
    msg.Location = location
    custom_log.log_debug_task("Send StrategyParameterChangeRequestMsg")
    msg_str = msg.SerializeToString()
    msg_type = const.MSG_TYPEID_ENUMS.StrategyParameterChangeRequest
    msg_list = [six.int2byte(msg_type), msg_str]
    socket.send_multipart(msg_list)
    recv_message = socket.recv_multipart()
    custom_log.log_debug_task("Recv Msg.")
    recv_result = six.byte2int(recv_message[0])
    return recv_result
コード例 #10
0
def send_trade_info_request_msg2(socket, last_update=None):
    msg = AllProtoMsg_pb2.TradeInfoRequestMsg()
    if last_update is not None:
        msg.LastUpdateTime.scale = last_update.scale
        msg.LastUpdateTime.value = last_update.value
    custom_log.log_debug_task("Send TradeInfoRequestMsg")
    msg_str = msg.SerializeToString()
    msg_type = const.MSG_TYPEID_ENUMS.TradeInfoRequest
    msg_list = [six.int2byte(msg_type), msg_str]

    socket.send_multipart(msg_list)
    recv_message = socket.recv_multipart()
    custom_log.log_debug_task("Recv TradeInfoResponseMsg.")
    tradeinfo_msg = AllProtoMsg_pb2.TradeInfoResponseMsg()
    tradeinfo_msg.ParseFromString(zlib.decompress(recv_message[1]))
    return tradeinfo_msg
コード例 #11
0
def send_strategy_account_change_request_msg(socket, strategy_name):
    msg = AllProtoMsg_pb2.StrategyParameterChangeRequestMsg()
    msg.Name = strategy_name
    # msg.Parameter.append('{"Account": "steady_return"}')
    parameter_item = msg.Parameter.add()
    parameter_item.Key = "Account"
    parameter_item.Value = "steady_return;huize01;hongyuan01"

    custom_log.log_debug_task("Send StrategyParameterChangeRequestMsg")
    msg_str = msg.SerializeToString()
    msg_type = const.MSG_TYPEID_ENUMS.StrategyParameterChangeRequest
    msg_list = [six.int2byte(msg_type), msg_str]
    socket.send_multipart(msg_list)
    recv_message = socket.recv_multipart()
    custom_log.log_debug_task("Recv Msg.")
    recv_result = six.byte2int(recv_message[0])
    return recv_result
コード例 #12
0
def send_order_info_request_msg(socket):
    msg = AllProtoMsg_pb2.OrderInfoRequestMsg()
    msg.IsAll = False
    custom_log.log_debug_task("Send OrderInfoRequestMsg")
    msg_str = msg.SerializeToString()
    msg_type = const.MSG_TYPEID_ENUMS.OrderInfoRequest
    msg_list = [six.int2byte(msg_type), msg_str]

    socket.send_multipart(msg_list)
    recv_message = socket.recv_multipart()
    custom_log.log_debug_task("Recv OrderInfoResponseMsg.")
    orderinfo_msg = AllProtoMsg_pb2.OrderInfoResponseMsg()
    orderinfo_msg.ParseFromString(zlib.decompress(recv_message[1]))

    order_msg_list = []
    for order_info in orderinfo_msg.Orders:
        order_msg_list.append(order_info)
    return order_msg_list
コード例 #13
0
def send_subscribetradeserverinfo_request_msg(socket, tradeserver_info_list):
    msg = AllProtoMsg_pb2.SubscribeTradeServerInfoRequestMsg()

    # msg.TradeServerInfo = tradeserver_info_list
    for tradeserver_info in tradeserver_info_list:
        msg.TradeServerInfo.append(tradeserver_info)

    custom_log.log_debug_task("Send SubscribeTradeServerInfoRequestMsg")
    msg_str = msg.SerializeToString()
    msg_type = const.MSG_TYPEID_ENUMS.SubscribeTradeServerInfoRequest
    msg_list = [six.int2byte(msg_type), msg_str]

    socket.send_multipart(msg_list)
    recv_message = socket.recv_multipart()
    custom_log.log_debug_task("Recv SubscribeTradeServerInfoResponseMsg.")
    subscribetradeserverinfo_msg = AllProtoMsg_pb2.SubscribeTradeServerInfoResponseMsg(
    )
    subscribetradeserverinfo_msg.ParseFromString(
        zlib.decompress(recv_message[1]))
    return subscribetradeserverinfo_msg
コード例 #14
0
def send_phone_trade_request_msg(socket, phone_trade_list):
    msg = AllProtoMsg_pb2.PhoneTradeRequestMsg()

    for phone_trade_info in phone_trade_list:
        phone_trade_item = msg.Trades.add()
        phone_trade_item.Fund = phone_trade_info.fund
        phone_trade_item.Strategy1 = phone_trade_info.strategy1
        phone_trade_item.Strategy2 = phone_trade_info.strategy2
        phone_trade_item.Symbol = phone_trade_info.symbol
        phone_trade_item.Direction = phone_trade_info.direction
        phone_trade_item.TradeType = phone_trade_info.tradetype
        phone_trade_item.HedgeFlag = phone_trade_info.hedgeflag
        phone_trade_item.ExPrice = float(phone_trade_info.exprice)
        phone_trade_item.ExQty = int(phone_trade_info.exqty)
        phone_trade_item.IOType = phone_trade_info.iotype

    custom_log.log_debug_task("Send PhoneTradeItem")
    msg_str = msg.SerializeToString()
    msg_type = 29
    msg_list = [six.int2byte(msg_type), msg_str]
    socket.send_multipart(msg_list)
コード例 #15
0
def send_instrument_info_request_msg2(socket, last_update=None):
    msg = AllProtoMsg_pb2.InstrumentInfoRequestMsg()
    if last_update is not None:
        msg.IsAll = False
        msg.IncludeStaticInfo = True
        msg.LastUpdate.scale = last_update.scale
        msg.LastUpdate.value = last_update.value
    else:
        msg.IsAll = True
        msg.IncludeStaticInfo = True
    custom_log.log_debug_task("Send InstrumentInfoRequestMsg")
    msg_str = msg.SerializeToString()
    msg_type = const.MSG_TYPEID_ENUMS.InstrumentInfoRequest
    msg_list = [six.int2byte(msg_type), msg_str]

    socket.send_multipart(msg_list)
    recv_message = socket.recv_multipart()
    custom_log.log_debug_task("Recv InstrumentInfoResponseMsg.")
    instrument_info_msg = AllProtoMsg_pb2.InstrumentInfoResponseMsg()
    instrument_info_msg.ParseFromString(zlib.decompress(recv_message[1]))
    return instrument_info_msg
コード例 #16
0
def send_position_risk_request_msg(socket, result_type=1):
    msg = AllProtoMsg_pb2.PositionRiskRequestMsg()
    custom_log.log_debug_task("Send PositionRiskRequestMsg")
    msg_str = msg.SerializeToString()
    msg_type = const.MSG_TYPEID_ENUMS.PositionRiskRequest
    msg_list = [six.int2byte(msg_type), msg_str]

    socket.send_multipart(msg_list)
    recv_message = socket.recv_multipart()
    custom_log.log_debug_task("Recv PositionRiskResponseMsg.")
    position_risk_msg = AllProtoMsg_pb2.PositionRiskResponseMsg()
    position_risk_msg.ParseFromString(zlib.decompress(recv_message[1]))

    if result_type == 1:
        risk_msg_list = []
        for holding_item in position_risk_msg.Holdings:
            risk_msg_list.append(holding_item)
        return risk_msg_list
    elif result_type == 2:
        position_msg_list = []
        for holding_item in position_risk_msg.Holdings2:
            position_msg_list.append(holding_item)
        return position_msg_list
コード例 #17
0
def send_instrument_info_request_msg(socket):
    msg = AllProtoMsg_pb2.InstrumentInfoRequestMsg()
    msg.IsAll = True
    msg.IncludeStaticInfo = True
    custom_log.log_debug_task("Send InstrumentInfoRequestMsg")
    msg_str = msg.SerializeToString()
    msg_type = const.MSG_TYPEID_ENUMS.InstrumentInfoRequest
    msg_list = [six.int2byte(msg_type), msg_str]

    socket.send_multipart(msg_list)
    recv_message = socket.recv_multipart()
    custom_log.log_debug_task("Recv InstrumentInfoResponseMsg.")
    instrument_info_msg = AllProtoMsg_pb2.InstrumentInfoResponseMsg()
    instrument_info_msg.ParseFromString(zlib.decompress(recv_message[1]))

    instrument_msg_dict = dict()
    for instrument_msg in instrument_info_msg.Targets:
        instrument_msg_dict[instrument_msg.id] = instrument_msg

    market_msg_dict = dict()
    for market_msg in instrument_info_msg.Infos:
        market_msg_dict[market_msg.ID] = market_msg
    return instrument_msg_dict, market_msg_dict