# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: trade/trade.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from trade import trade_enum_pb2 as trade_dot_trade__enum__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='trade/trade.proto',
  package='trade',
  syntax='proto3',
  serialized_options=_b('\242\002\003TRA'),
  serialized_pb=_b('\n\x11trade/trade.proto\x12\x05trade\x1a\x16trade/trade_enum.proto\"&\n\x05\x45rror\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\x0c\")\n\x03Log\x12\x11\n\tlog_level\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\x0c\"\x8c\x04\n\x08LoginReq\x12\x13\n\x0binvestor_id\x18\x01 \x01(\t\x12\x16\n\x0etrade_password\x18\x02 \x01(\t\x12\x12\n\nop_station\x18\x03 \x01(\t\x12,\n\x0einterface_type\x18\x04 \x01(\x0e\x32\x14.trade.InterfaceType\x12,\n\x0c\x61\x63\x63ount_type\x18\x05 \x01(\x0e\x32\x16.trade.tag.AccountType\x12\x11\n\tbroker_id\x18\x06 \x01(\t\x12\x19\n\x11user_product_info\x18\x07 \x01(\t\x12\x0e\n\x06\x61pp_id\x18\x08 \x01(\t\x12\x11\n\tauth_code\x18\t \x01(\t\x12\x14\n\x0c\x63ollect_info\x18\n \x01(\t\x12\x11\n\tflow_path\x18\x0b \x01(\t\x12\x18\n\x10\x63lient_public_ip\x18\x0c \x01(\t\x12\x13\n\x0b\x63lient_port\x18\r \x01(\x05\x12\x15\n\rmd_op_station\x18\x0e \x01(\t\x12\x11\n\tclient_id\x18\x0f \x01(\t\x12\x13\n\x0b\x63lient_info\x18\x10 \x01(\t\x12\x17\n\x0fis_auto_confirm\x18\x11 \x01(\x08\x12\x18\n\x10is_sync_position\x18\x12 \x01(\x08\x12\x14\n\x0cis_check_pwd\x18\x13 \x01(\x08\x12\x16\n\x0eop_station_off\x18\x14 \x01(\t\x12\x0c\n\x04qsid\x18\x15 \x01(\t\x12\x0c\n\x04wtid\x18\x16 \x01(\t\"\xea\x01\n\x08LoginRsp\x12\x14\n\x0cinvestor_key\x18\x01 \x01(\x04\x12\x0c\n\x04\x63ode\x18\x02 \x01(\x05\x12\x0f\n\x07message\x18\x03 \x01(\x0c\x12\x13\n\x0btrading_day\x18\x04 \x01(\t\x12\x12\n\nlogin_time\x18\x05 \x01(\t\x12\x13\n\x0b\x63lient_name\x18\x06 \x01(\x0c\x12\x13\n\x0binvestor_id\x18\x07 \x01(\t\x12\x11\n\tbroker_id\x18\x08 \x01(\t\x12\x11\n\tclient_id\x18\t \x01(\t\x12\x17\n\x0ftabconfirm_flag\x18\n \x01(\x08\x12\x17\n\x0f\x63hange_pwd_code\x18\x0b \x01(\x05\"\xfd\x01\n\x10\x43onnectionNotify\x12\x14\n\x0cinvestor_key\x18\x01 \x01(\x04\x12\x13\n\x0binvestor_id\x18\x02 \x01(\t\x12\x0c\n\x04\x63ode\x18\x03 \x01(\x05\x12\x0f\n\x07message\x18\x04 \x01(\x0c\x12\x12\n\nis_logined\x18\x05 \x01(\x08\x12\x13\n\x0btrading_day\x18\x06 \x01(\t\x12\x12\n\nlogin_time\x18\x07 \x01(\t\x12\x13\n\x0b\x63lient_name\x18\x08 \x01(\x0c\x12\x11\n\tbroker_id\x18\t \x01(\t\x12,\n\x0einterface_type\x18\n \x01(\x0e\x32\x14.trade.InterfaceType\x12\x0c\n\x04p_id\x18\x0b \x01(\x05\"N\n\tLogoutReq\x12\x13\n\x0binvestor_id\x18\x01 \x01(\t\x12\x16\n\x0etrade_password\x18\x02 \x01(\t\x12\x14\n\x0cinvestor_key\x18\x03 \x01(\x04\" \n\tLogoutRsp\x12\x13\n\x0binvestor_id\x18\x01 \x01(\t\"\xd5\x06\n\x0eInstrumentData\x12\'\n\x04type\x18\x01 \x01(\x0e\x32\x19.trade.tag.InstrumentType\x12\x17\n\x0fvolume_multiple\x18\x02 \x01(\x05\x12\x12\n\nprice_tick\x18\x03 \x01(\x01\x12\x13\n\x0b\x65xpire_date\x18\x04 \x01(\t\x12\x14\n\x0cstrike_price\x18\x05 \x01(\x01\x12\x14\n\x0coptions_type\x18\x06 \x01(\x05\x12\x0e\n\x06symbol\x18\x07 \x01(\t\x12\x15\n\rinstrument_id\x18\x08 \x01(\t\x12\x13\n\x0b\x65xchange_id\x18\t \x01(\t\x12\x12\n\nproduct_id\x18\n \x01(\t\x12\x17\n\x0finstrument_name\x18\x0b \x01(\x0c\x12\x1b\n\x13underlying_instr_id\x18\x0c \x01(\t\x12\x14\n\x0cinvestor_key\x18\r \x01(\x04\x12\x15\n\rproduct_class\x18\x0e \x01(\x05\x12\x15\n\rdelivery_year\x18\x0f \x01(\x05\x12\x16\n\x0e\x64\x65livery_month\x18\x10 \x01(\x05\x12\x1f\n\x17max_market_order_volume\x18\x11 \x01(\x05\x12\x1f\n\x17min_market_order_volume\x18\x12 \x01(\x05\x12\x1e\n\x16max_limit_order_volume\x18\x13 \x01(\x05\x12\x1e\n\x16min_limit_order_volume\x18\x14 \x01(\x05\x12\x13\n\x0b\x63reate_date\x18\x15 \x01(\t\x12\x11\n\topen_date\x18\x16 \x01(\t\x12\x18\n\x10start_deliv_date\x18\x17 \x01(\t\x12\x16\n\x0e\x65nd_deliv_date\x18\x18 \x01(\t\x12\x17\n\x0finst_life_phase\x18\x19 \x01(\x05\x12\x12\n\nis_trading\x18\x1a \x01(\x08\x12\x15\n\rposition_type\x18\x1b \x01(\x05\x12\x1a\n\x12position_date_type\x18\x1c \x01(\x05\x12\x19\n\x11long_margin_ratio\x18\x1d \x01(\x01\x12\x19\n\x11short_marginRatio\x18\x1e \x01(\x01\x12!\n\x19max_margin_side_algorithm\x18\x1f \x01(\x05\x12\x1b\n\x13underlying_multiple\x18  \x01(\x01\x12\x18\n\x10\x63ombination_type\x18! \x01(\x05\"V\n\x12QueryInstrumentReq\x12\x14\n\x0cinvestor_key\x18\x01 \x01(\x04\x12\x13\n\x0b\x65xchange_id\x18\x02 \x01(\t\x12\x15\n\rinstrument_id\x18\x03 \x01(\t\"\xda\x06\n\x12QueryInstrumentRsp\x12\'\n\x04type\x18\x01 \x01(\x0e\x32\x19.trade.tag.InstrumentType\x12\x17\n\x0fvolume_multiple\x18\x02 \x01(\x05\x12\x12\n\nprice_tick\x18\x03 \x01(\x01\x12\x13\n\x0b\x65xpire_date\x18\x04 \x01(\t\x12\x14\n\x0cstrike_price\x18\x05 \x01(\x01\x12\x14\n\x0coptions_type\x18\x06 \x01(\x05\x12\x0e\n\x06symbol\x18\x07 \x01(\t\x12\x15\n\rinstrument_id\x18\x08 \x01(\t\x12\x13\n\x0b\x65xchange_id\x18\t \x01(\t\x12\x12\n\nproduct_id\x18\n \x01(\t\x12\x17\n\x0finstrument_name\x18\x0b \x01(\x0c\x12\x1b\n\x13underlying_instr_id\x18\x0c \x01(\t\x12\x14\n\x0cinvestor_key\x18\r \x01(\x04\x12\x15\n\rproduct_class\x18\x0e \x01(\x05\x12\x15\n\rdelivery_year\x18\x0f \x01(\x05\x12\x16\n\x0e\x64\x65livery_month\x18\x10 \x01(\x05\x12\x1f\n\x17max_market_order_volume\x18\x11 \x01(\x05\x12\x1f\n\x17min_market_order_volume\x18\x12 \x01(\x05\x12\x1e\n\x16max_limit_order_volume\x18\x13 \x01(\x05\x12\x1e\n\x16min_limit_order_volume\x18\x14 \x01(\x05\x12\x13\n\x0b\x63reate_date\x18\x15 \x01(\t\x12\x11\n\topen_date\x18\x16 \x01(\t\x12\x18\n\x10start_deliv_date\x18\x17 \x01(\t\x12\x16\n\x0e\x65nd_deliv_date\x18\x18 \x01(\t\x12\x17\n\x0finst_life_phase\x18\x19 \x01(\x05\x12\x12\n\nis_trading\x18\x1a \x01(\x08\x12\x15\n\rposition_type\x18\x1b \x01(\x05\x12\x1a\n\x12position_date_type\x18\x1c \x01(\x05\x12\x19\n\x11long_margin_ratio\x18\x1d \x01(\x01\x12\x1a\n\x12short_margin_ratio\x18\x1e \x01(\x01\x12!\n\x19max_margin_side_algorithm\x18\x1f \x01(\x05\x12\x1b\n\x13underlying_multiple\x18  \x01(\x01\x12\x18\n\x10\x63ombination_type\x18! \x01(\x05\"Z\n\x16QueryInstrumentListReq\x12\x14\n\x0cinvestor_key\x18\x01 \x01(\x04\x12\x13\n\x0b\x65xchange_id\x18\x02 \x01(\t\x12\x15\n\rinstrument_id\x18\x03 \x01(\t\"=\n\x16QueryInstrumentListRsp\x12#\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\x15.trade.InstrumentData\"\xe8\x01\n\x0cSecurityData\x12\x0c\n\x04type\x18\x01 \x01(\x05\x12\x17\n\x0fvolume_multiple\x18\x02 \x01(\x05\x12\x12\n\nprice_tick\x18\x03 \x01(\x01\x12\x10\n\x08\x63lass_id\x18\x04 \x01(\t\x12\x13\n\x0bstatus_flag\x18\x05 \x01(\x05\x12\x11\n\tmarket_id\x18\x06 \x01(\t\x12\x0e\n\x06symbol\x18\x07 \x01(\t\x12\x13\n\x0bsecurity_id\x18\x08 \x01(\t\x12\x13\n\x0b\x65xchange_id\x18\t \x01(\t\x12\x12\n\nproduct_id\x18\n \x01(\t\x12\x15\n\rsecurity_name\x18\x0b \x01(\x0c\"<\n\x10QuerySecurityReq\x12\x13\n\x0b\x65xchange_id\x18\x01 \x01(\t\x12\x13\n\x0bsecurity_id\x18\x02 \x01(\t\"5\n\x10QuerySecurityRsp\x12!\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\x13.trade.SecurityData*\xa6\x01\n\rInterfaceType\x12\x08\n\x04SELF\x10\x00\x12\t\n\x05QUICK\x10\x01\x12\n\n\x06QUANTS\x10\x02\x12\x07\n\x03XTP\x10\x03\x12\x07\n\x03\x43TP\x10\x04\x12\n\n\x06\x43TP_SE\x10\x05\x12\x08\n\x04KSFT\x10\x06\x12\x07\n\x03UFX\x10\x07\x12\x0c\n\x08\x43TP_MINI\x10\x08\x12\t\n\x05\x46\x45MAS\x10\t\x12\x08\n\x04SGIT\x10\n\x12\x08\n\x04\x41PEX\x10\x0b\x12\x0c\n\x08SIMULATE\x10\x0c\x12\x08\n\x04MOCK\x10\r*\xfc\x06\n\nMethodType\x12\x14\n\x10kProtocolConfirm\x10\x00\x12\x11\n\rkProtocolAuth\x10\x01\x12\x0f\n\x0bkClientAuth\x10\x02\x12\n\n\x06kLogin\x10\x03\x12\x0b\n\x07kLogout\x10\x04\x12\x08\n\x04kErr\x10\x05\x12\x0b\n\x07kKilled\x10\x06\x12\r\n\tkQryAsset\x10\n\x12\r\n\tkQryOrder\x10\x0b\x12\r\n\tkQryTrade\x10\x0c\x12\x10\n\x0ckQryPosition\x10\r\x12\x16\n\x12kQryPositionDetail\x10\x0e\x12\x16\n\x12kQryCommissionRate\x10\x0f\x12\x12\n\x0ekQryMarginRate\x10\x10\x12\x16\n\x12kQryConditionOrder\x10\x11\x12\x12\n\x0ekQryInstrument\x10\x12\x12\x10\n\x0ckQryInvestor\x10\x13\x12\x1a\n\x16kConfirmSettlementInfo\x10\x14\x12\x16\n\x12kQrySettlementInfo\x10\x15\x12\x1d\n\x19kQrySettlementInfoConfirm\x10\x16\x12\x17\n\x13kUserPasswordUpdate\x10\x17\x12\x16\n\x12kQryMaxOrderVolume\x10\x18\x12\x13\n\x0fkQryTradingCode\x10\x19\x12\x0e\n\nkQryNotice\x10\x1a\x12\x15\n\x11kQryTradingNotice\x10\x1b\x12\x14\n\x10kQryContractBank\x10\x46\x12\x17\n\x13kQryAccountregister\x10G\x12\x16\n\x12kQryTransferSerial\x10H\x12\x18\n\x14kQryBankAccountMoney\x10I\x12\x15\n\x11kFromBankToFuture\x10J\x12\x15\n\x11kFromFutureToBank\x10K\x12!\n\x1dkTradingAccountPasswordUpdate\x10L\x12 \n\x1ckQryCFMMCTradingAccountToken\x10M\x12\x10\n\x0ckInsertOrder\x10\x64\x12\x10\n\x0ckCancelOrder\x10\x65\x12\x19\n\x15kInsertConditionOrder\x10\x66\x12\x19\n\x15kCancelConditionOrder\x10g\x12\x0f\n\nkPushOrder\x10\x96\x01\x12\x0f\n\nkPushTrade\x10\x97\x01\x12\x19\n\x14kPushCancelOrderFail\x10\x98\x01\x12\x18\n\x13kPushConditionOrder\x10\x99\x01\x42\x06\xa2\x02\x03TRAb\x06proto3')
  ,
  dependencies=[trade_dot_trade__enum__pb2.DESCRIPTOR,])

_INTERFACETYPE = _descriptor.EnumDescriptor(
  name='InterfaceType',
  full_name='trade.InterfaceType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='SELF', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='QUICK', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='QUANTS', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='XTP', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CTP', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CTP_SE', index=5, number=5,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='KSFT', index=6, number=6,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UFX', index=7, number=7,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CTP_MINI', index=8, number=8,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FEMAS', index=9, number=9,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SGIT', index=10, number=10,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='APEX', index=11, number=11,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SIMULATE', index=12, number=12,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MOCK', index=13, number=13,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3582,
  serialized_end=3748,
)
_sym_db.RegisterEnumDescriptor(_INTERFACETYPE)

InterfaceType = enum_type_wrapper.EnumTypeWrapper(_INTERFACETYPE)
_METHODTYPE = _descriptor.EnumDescriptor(
  name='MethodType',
  full_name='trade.MethodType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='kProtocolConfirm', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kProtocolAuth', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kClientAuth', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kLogin', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kLogout', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kErr', index=5, number=5,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kKilled', index=6, number=6,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQryAsset', index=7, number=10,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQryOrder', index=8, number=11,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQryTrade', index=9, number=12,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQryPosition', index=10, number=13,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQryPositionDetail', index=11, number=14,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQryCommissionRate', index=12, number=15,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQryMarginRate', index=13, number=16,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQryConditionOrder', index=14, number=17,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQryInstrument', index=15, number=18,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQryInvestor', index=16, number=19,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kConfirmSettlementInfo', index=17, number=20,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQrySettlementInfo', index=18, number=21,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQrySettlementInfoConfirm', index=19, number=22,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kUserPasswordUpdate', index=20, number=23,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQryMaxOrderVolume', index=21, number=24,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQryTradingCode', index=22, number=25,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQryNotice', index=23, number=26,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQryTradingNotice', index=24, number=27,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQryContractBank', index=25, number=70,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQryAccountregister', index=26, number=71,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQryTransferSerial', index=27, number=72,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQryBankAccountMoney', index=28, number=73,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kFromBankToFuture', index=29, number=74,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kFromFutureToBank', index=30, number=75,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kTradingAccountPasswordUpdate', index=31, number=76,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kQryCFMMCTradingAccountToken', index=32, number=77,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kInsertOrder', index=33, number=100,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kCancelOrder', index=34, number=101,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kInsertConditionOrder', index=35, number=102,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kCancelConditionOrder', index=36, number=103,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kPushOrder', index=37, number=150,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kPushTrade', index=38, number=151,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kPushCancelOrderFail', index=39, number=152,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='kPushConditionOrder', index=40, number=153,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3751,
  serialized_end=4643,
)
_sym_db.RegisterEnumDescriptor(_METHODTYPE)

MethodType = enum_type_wrapper.EnumTypeWrapper(_METHODTYPE)
SELF = 0
QUICK = 1
QUANTS = 2
XTP = 3
CTP = 4
CTP_SE = 5
KSFT = 6
UFX = 7
CTP_MINI = 8
FEMAS = 9
SGIT = 10
APEX = 11
SIMULATE = 12
MOCK = 13
kProtocolConfirm = 0
kProtocolAuth = 1
kClientAuth = 2
kLogin = 3
kLogout = 4
kErr = 5
kKilled = 6
kQryAsset = 10
kQryOrder = 11
kQryTrade = 12
kQryPosition = 13
kQryPositionDetail = 14
kQryCommissionRate = 15
kQryMarginRate = 16
kQryConditionOrder = 17
kQryInstrument = 18
kQryInvestor = 19
kConfirmSettlementInfo = 20
kQrySettlementInfo = 21
kQrySettlementInfoConfirm = 22
kUserPasswordUpdate = 23
kQryMaxOrderVolume = 24
kQryTradingCode = 25
kQryNotice = 26
kQryTradingNotice = 27
kQryContractBank = 70
kQryAccountregister = 71
kQryTransferSerial = 72
kQryBankAccountMoney = 73
kFromBankToFuture = 74
kFromFutureToBank = 75
kTradingAccountPasswordUpdate = 76
kQryCFMMCTradingAccountToken = 77
kInsertOrder = 100
kCancelOrder = 101
kInsertConditionOrder = 102
kCancelConditionOrder = 103
kPushOrder = 150
kPushTrade = 151
kPushCancelOrderFail = 152
kPushConditionOrder = 153



_ERROR = _descriptor.Descriptor(
  name='Error',
  full_name='trade.Error',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='code', full_name='trade.Error.code', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='message', full_name='trade.Error.message', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=52,
  serialized_end=90,
)


_LOG = _descriptor.Descriptor(
  name='Log',
  full_name='trade.Log',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='log_level', full_name='trade.Log.log_level', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='message', full_name='trade.Log.message', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=92,
  serialized_end=133,
)


_LOGINREQ = _descriptor.Descriptor(
  name='LoginReq',
  full_name='trade.LoginReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='investor_id', full_name='trade.LoginReq.investor_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='trade_password', full_name='trade.LoginReq.trade_password', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='op_station', full_name='trade.LoginReq.op_station', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='interface_type', full_name='trade.LoginReq.interface_type', index=3,
      number=4, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='account_type', full_name='trade.LoginReq.account_type', index=4,
      number=5, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='broker_id', full_name='trade.LoginReq.broker_id', index=5,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='user_product_info', full_name='trade.LoginReq.user_product_info', index=6,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='app_id', full_name='trade.LoginReq.app_id', index=7,
      number=8, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='auth_code', full_name='trade.LoginReq.auth_code', index=8,
      number=9, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='collect_info', full_name='trade.LoginReq.collect_info', index=9,
      number=10, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='flow_path', full_name='trade.LoginReq.flow_path', index=10,
      number=11, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='client_public_ip', full_name='trade.LoginReq.client_public_ip', index=11,
      number=12, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='client_port', full_name='trade.LoginReq.client_port', index=12,
      number=13, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='md_op_station', full_name='trade.LoginReq.md_op_station', index=13,
      number=14, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='client_id', full_name='trade.LoginReq.client_id', index=14,
      number=15, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='client_info', full_name='trade.LoginReq.client_info', index=15,
      number=16, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='is_auto_confirm', full_name='trade.LoginReq.is_auto_confirm', index=16,
      number=17, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='is_sync_position', full_name='trade.LoginReq.is_sync_position', index=17,
      number=18, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='is_check_pwd', full_name='trade.LoginReq.is_check_pwd', index=18,
      number=19, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='op_station_off', full_name='trade.LoginReq.op_station_off', index=19,
      number=20, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='qsid', full_name='trade.LoginReq.qsid', index=20,
      number=21, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='wtid', full_name='trade.LoginReq.wtid', index=21,
      number=22, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=136,
  serialized_end=660,
)


_LOGINRSP = _descriptor.Descriptor(
  name='LoginRsp',
  full_name='trade.LoginRsp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='investor_key', full_name='trade.LoginRsp.investor_key', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='code', full_name='trade.LoginRsp.code', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='message', full_name='trade.LoginRsp.message', index=2,
      number=3, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='trading_day', full_name='trade.LoginRsp.trading_day', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='login_time', full_name='trade.LoginRsp.login_time', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='client_name', full_name='trade.LoginRsp.client_name', index=5,
      number=6, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='investor_id', full_name='trade.LoginRsp.investor_id', index=6,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='broker_id', full_name='trade.LoginRsp.broker_id', index=7,
      number=8, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='client_id', full_name='trade.LoginRsp.client_id', index=8,
      number=9, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tabconfirm_flag', full_name='trade.LoginRsp.tabconfirm_flag', index=9,
      number=10, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='change_pwd_code', full_name='trade.LoginRsp.change_pwd_code', index=10,
      number=11, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=663,
  serialized_end=897,
)


_CONNECTIONNOTIFY = _descriptor.Descriptor(
  name='ConnectionNotify',
  full_name='trade.ConnectionNotify',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='investor_key', full_name='trade.ConnectionNotify.investor_key', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='investor_id', full_name='trade.ConnectionNotify.investor_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='code', full_name='trade.ConnectionNotify.code', index=2,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='message', full_name='trade.ConnectionNotify.message', index=3,
      number=4, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='is_logined', full_name='trade.ConnectionNotify.is_logined', index=4,
      number=5, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='trading_day', full_name='trade.ConnectionNotify.trading_day', index=5,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='login_time', full_name='trade.ConnectionNotify.login_time', index=6,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='client_name', full_name='trade.ConnectionNotify.client_name', index=7,
      number=8, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='broker_id', full_name='trade.ConnectionNotify.broker_id', index=8,
      number=9, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='interface_type', full_name='trade.ConnectionNotify.interface_type', index=9,
      number=10, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='p_id', full_name='trade.ConnectionNotify.p_id', index=10,
      number=11, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=900,
  serialized_end=1153,
)


_LOGOUTREQ = _descriptor.Descriptor(
  name='LogoutReq',
  full_name='trade.LogoutReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='investor_id', full_name='trade.LogoutReq.investor_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='trade_password', full_name='trade.LogoutReq.trade_password', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='investor_key', full_name='trade.LogoutReq.investor_key', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1155,
  serialized_end=1233,
)


_LOGOUTRSP = _descriptor.Descriptor(
  name='LogoutRsp',
  full_name='trade.LogoutRsp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='investor_id', full_name='trade.LogoutRsp.investor_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1235,
  serialized_end=1267,
)


_INSTRUMENTDATA = _descriptor.Descriptor(
  name='InstrumentData',
  full_name='trade.InstrumentData',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='trade.InstrumentData.type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='volume_multiple', full_name='trade.InstrumentData.volume_multiple', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='price_tick', full_name='trade.InstrumentData.price_tick', index=2,
      number=3, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='expire_date', full_name='trade.InstrumentData.expire_date', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='strike_price', full_name='trade.InstrumentData.strike_price', index=4,
      number=5, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='options_type', full_name='trade.InstrumentData.options_type', index=5,
      number=6, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='symbol', full_name='trade.InstrumentData.symbol', index=6,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='instrument_id', full_name='trade.InstrumentData.instrument_id', index=7,
      number=8, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='exchange_id', full_name='trade.InstrumentData.exchange_id', index=8,
      number=9, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='product_id', full_name='trade.InstrumentData.product_id', index=9,
      number=10, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='instrument_name', full_name='trade.InstrumentData.instrument_name', index=10,
      number=11, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='underlying_instr_id', full_name='trade.InstrumentData.underlying_instr_id', index=11,
      number=12, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='investor_key', full_name='trade.InstrumentData.investor_key', index=12,
      number=13, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='product_class', full_name='trade.InstrumentData.product_class', index=13,
      number=14, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='delivery_year', full_name='trade.InstrumentData.delivery_year', index=14,
      number=15, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='delivery_month', full_name='trade.InstrumentData.delivery_month', index=15,
      number=16, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='max_market_order_volume', full_name='trade.InstrumentData.max_market_order_volume', index=16,
      number=17, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='min_market_order_volume', full_name='trade.InstrumentData.min_market_order_volume', index=17,
      number=18, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='max_limit_order_volume', full_name='trade.InstrumentData.max_limit_order_volume', index=18,
      number=19, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='min_limit_order_volume', full_name='trade.InstrumentData.min_limit_order_volume', index=19,
      number=20, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='create_date', full_name='trade.InstrumentData.create_date', index=20,
      number=21, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='open_date', full_name='trade.InstrumentData.open_date', index=21,
      number=22, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='start_deliv_date', full_name='trade.InstrumentData.start_deliv_date', index=22,
      number=23, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='end_deliv_date', full_name='trade.InstrumentData.end_deliv_date', index=23,
      number=24, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='inst_life_phase', full_name='trade.InstrumentData.inst_life_phase', index=24,
      number=25, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='is_trading', full_name='trade.InstrumentData.is_trading', index=25,
      number=26, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='position_type', full_name='trade.InstrumentData.position_type', index=26,
      number=27, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='position_date_type', full_name='trade.InstrumentData.position_date_type', index=27,
      number=28, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='long_margin_ratio', full_name='trade.InstrumentData.long_margin_ratio', index=28,
      number=29, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='short_marginRatio', full_name='trade.InstrumentData.short_marginRatio', index=29,
      number=30, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='max_margin_side_algorithm', full_name='trade.InstrumentData.max_margin_side_algorithm', index=30,
      number=31, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='underlying_multiple', full_name='trade.InstrumentData.underlying_multiple', index=31,
      number=32, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='combination_type', full_name='trade.InstrumentData.combination_type', index=32,
      number=33, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1270,
  serialized_end=2123,
)


_QUERYINSTRUMENTREQ = _descriptor.Descriptor(
  name='QueryInstrumentReq',
  full_name='trade.QueryInstrumentReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='investor_key', full_name='trade.QueryInstrumentReq.investor_key', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='exchange_id', full_name='trade.QueryInstrumentReq.exchange_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='instrument_id', full_name='trade.QueryInstrumentReq.instrument_id', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2125,
  serialized_end=2211,
)


_QUERYINSTRUMENTRSP = _descriptor.Descriptor(
  name='QueryInstrumentRsp',
  full_name='trade.QueryInstrumentRsp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='trade.QueryInstrumentRsp.type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='volume_multiple', full_name='trade.QueryInstrumentRsp.volume_multiple', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='price_tick', full_name='trade.QueryInstrumentRsp.price_tick', index=2,
      number=3, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='expire_date', full_name='trade.QueryInstrumentRsp.expire_date', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='strike_price', full_name='trade.QueryInstrumentRsp.strike_price', index=4,
      number=5, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='options_type', full_name='trade.QueryInstrumentRsp.options_type', index=5,
      number=6, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='symbol', full_name='trade.QueryInstrumentRsp.symbol', index=6,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='instrument_id', full_name='trade.QueryInstrumentRsp.instrument_id', index=7,
      number=8, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='exchange_id', full_name='trade.QueryInstrumentRsp.exchange_id', index=8,
      number=9, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='product_id', full_name='trade.QueryInstrumentRsp.product_id', index=9,
      number=10, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='instrument_name', full_name='trade.QueryInstrumentRsp.instrument_name', index=10,
      number=11, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='underlying_instr_id', full_name='trade.QueryInstrumentRsp.underlying_instr_id', index=11,
      number=12, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='investor_key', full_name='trade.QueryInstrumentRsp.investor_key', index=12,
      number=13, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='product_class', full_name='trade.QueryInstrumentRsp.product_class', index=13,
      number=14, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='delivery_year', full_name='trade.QueryInstrumentRsp.delivery_year', index=14,
      number=15, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='delivery_month', full_name='trade.QueryInstrumentRsp.delivery_month', index=15,
      number=16, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='max_market_order_volume', full_name='trade.QueryInstrumentRsp.max_market_order_volume', index=16,
      number=17, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='min_market_order_volume', full_name='trade.QueryInstrumentRsp.min_market_order_volume', index=17,
      number=18, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='max_limit_order_volume', full_name='trade.QueryInstrumentRsp.max_limit_order_volume', index=18,
      number=19, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='min_limit_order_volume', full_name='trade.QueryInstrumentRsp.min_limit_order_volume', index=19,
      number=20, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='create_date', full_name='trade.QueryInstrumentRsp.create_date', index=20,
      number=21, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='open_date', full_name='trade.QueryInstrumentRsp.open_date', index=21,
      number=22, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='start_deliv_date', full_name='trade.QueryInstrumentRsp.start_deliv_date', index=22,
      number=23, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='end_deliv_date', full_name='trade.QueryInstrumentRsp.end_deliv_date', index=23,
      number=24, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='inst_life_phase', full_name='trade.QueryInstrumentRsp.inst_life_phase', index=24,
      number=25, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='is_trading', full_name='trade.QueryInstrumentRsp.is_trading', index=25,
      number=26, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='position_type', full_name='trade.QueryInstrumentRsp.position_type', index=26,
      number=27, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='position_date_type', full_name='trade.QueryInstrumentRsp.position_date_type', index=27,
      number=28, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='long_margin_ratio', full_name='trade.QueryInstrumentRsp.long_margin_ratio', index=28,
      number=29, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='short_margin_ratio', full_name='trade.QueryInstrumentRsp.short_margin_ratio', index=29,
      number=30, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='max_margin_side_algorithm', full_name='trade.QueryInstrumentRsp.max_margin_side_algorithm', index=30,
      number=31, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='underlying_multiple', full_name='trade.QueryInstrumentRsp.underlying_multiple', index=31,
      number=32, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='combination_type', full_name='trade.QueryInstrumentRsp.combination_type', index=32,
      number=33, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2214,
  serialized_end=3072,
)


_QUERYINSTRUMENTLISTREQ = _descriptor.Descriptor(
  name='QueryInstrumentListReq',
  full_name='trade.QueryInstrumentListReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='investor_key', full_name='trade.QueryInstrumentListReq.investor_key', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='exchange_id', full_name='trade.QueryInstrumentListReq.exchange_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='instrument_id', full_name='trade.QueryInstrumentListReq.instrument_id', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3074,
  serialized_end=3164,
)


_QUERYINSTRUMENTLISTRSP = _descriptor.Descriptor(
  name='QueryInstrumentListRsp',
  full_name='trade.QueryInstrumentListRsp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='trade.QueryInstrumentListRsp.data', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3166,
  serialized_end=3227,
)


_SECURITYDATA = _descriptor.Descriptor(
  name='SecurityData',
  full_name='trade.SecurityData',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='trade.SecurityData.type', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='volume_multiple', full_name='trade.SecurityData.volume_multiple', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='price_tick', full_name='trade.SecurityData.price_tick', index=2,
      number=3, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='class_id', full_name='trade.SecurityData.class_id', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='status_flag', full_name='trade.SecurityData.status_flag', index=4,
      number=5, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='market_id', full_name='trade.SecurityData.market_id', index=5,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='symbol', full_name='trade.SecurityData.symbol', index=6,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='security_id', full_name='trade.SecurityData.security_id', index=7,
      number=8, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='exchange_id', full_name='trade.SecurityData.exchange_id', index=8,
      number=9, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='product_id', full_name='trade.SecurityData.product_id', index=9,
      number=10, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='security_name', full_name='trade.SecurityData.security_name', index=10,
      number=11, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3230,
  serialized_end=3462,
)


_QUERYSECURITYREQ = _descriptor.Descriptor(
  name='QuerySecurityReq',
  full_name='trade.QuerySecurityReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='exchange_id', full_name='trade.QuerySecurityReq.exchange_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='security_id', full_name='trade.QuerySecurityReq.security_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3464,
  serialized_end=3524,
)


_QUERYSECURITYRSP = _descriptor.Descriptor(
  name='QuerySecurityRsp',
  full_name='trade.QuerySecurityRsp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='trade.QuerySecurityRsp.data', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3526,
  serialized_end=3579,
)

_LOGINREQ.fields_by_name['interface_type'].enum_type = _INTERFACETYPE
_LOGINREQ.fields_by_name['account_type'].enum_type = trade_dot_trade__enum__pb2._ACCOUNTTYPE
_CONNECTIONNOTIFY.fields_by_name['interface_type'].enum_type = _INTERFACETYPE
_INSTRUMENTDATA.fields_by_name['type'].enum_type = trade_dot_trade__enum__pb2._INSTRUMENTTYPE
_QUERYINSTRUMENTRSP.fields_by_name['type'].enum_type = trade_dot_trade__enum__pb2._INSTRUMENTTYPE
_QUERYINSTRUMENTLISTRSP.fields_by_name['data'].message_type = _INSTRUMENTDATA
_QUERYSECURITYRSP.fields_by_name['data'].message_type = _SECURITYDATA
DESCRIPTOR.message_types_by_name['Error'] = _ERROR
DESCRIPTOR.message_types_by_name['Log'] = _LOG
DESCRIPTOR.message_types_by_name['LoginReq'] = _LOGINREQ
DESCRIPTOR.message_types_by_name['LoginRsp'] = _LOGINRSP
DESCRIPTOR.message_types_by_name['ConnectionNotify'] = _CONNECTIONNOTIFY
DESCRIPTOR.message_types_by_name['LogoutReq'] = _LOGOUTREQ
DESCRIPTOR.message_types_by_name['LogoutRsp'] = _LOGOUTRSP
DESCRIPTOR.message_types_by_name['InstrumentData'] = _INSTRUMENTDATA
DESCRIPTOR.message_types_by_name['QueryInstrumentReq'] = _QUERYINSTRUMENTREQ
DESCRIPTOR.message_types_by_name['QueryInstrumentRsp'] = _QUERYINSTRUMENTRSP
DESCRIPTOR.message_types_by_name['QueryInstrumentListReq'] = _QUERYINSTRUMENTLISTREQ
DESCRIPTOR.message_types_by_name['QueryInstrumentListRsp'] = _QUERYINSTRUMENTLISTRSP
DESCRIPTOR.message_types_by_name['SecurityData'] = _SECURITYDATA
DESCRIPTOR.message_types_by_name['QuerySecurityReq'] = _QUERYSECURITYREQ
DESCRIPTOR.message_types_by_name['QuerySecurityRsp'] = _QUERYSECURITYRSP
DESCRIPTOR.enum_types_by_name['InterfaceType'] = _INTERFACETYPE
DESCRIPTOR.enum_types_by_name['MethodType'] = _METHODTYPE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

Error = _reflection.GeneratedProtocolMessageType('Error', (_message.Message,), {
  'DESCRIPTOR' : _ERROR,
  '__module__' : 'trade.trade_pb2'
  # @@protoc_insertion_point(class_scope:trade.Error)
  })
_sym_db.RegisterMessage(Error)

Log = _reflection.GeneratedProtocolMessageType('Log', (_message.Message,), {
  'DESCRIPTOR' : _LOG,
  '__module__' : 'trade.trade_pb2'
  # @@protoc_insertion_point(class_scope:trade.Log)
  })
_sym_db.RegisterMessage(Log)

LoginReq = _reflection.GeneratedProtocolMessageType('LoginReq', (_message.Message,), {
  'DESCRIPTOR' : _LOGINREQ,
  '__module__' : 'trade.trade_pb2'
  # @@protoc_insertion_point(class_scope:trade.LoginReq)
  })
_sym_db.RegisterMessage(LoginReq)

LoginRsp = _reflection.GeneratedProtocolMessageType('LoginRsp', (_message.Message,), {
  'DESCRIPTOR' : _LOGINRSP,
  '__module__' : 'trade.trade_pb2'
  # @@protoc_insertion_point(class_scope:trade.LoginRsp)
  })
_sym_db.RegisterMessage(LoginRsp)

ConnectionNotify = _reflection.GeneratedProtocolMessageType('ConnectionNotify', (_message.Message,), {
  'DESCRIPTOR' : _CONNECTIONNOTIFY,
  '__module__' : 'trade.trade_pb2'
  # @@protoc_insertion_point(class_scope:trade.ConnectionNotify)
  })
_sym_db.RegisterMessage(ConnectionNotify)

LogoutReq = _reflection.GeneratedProtocolMessageType('LogoutReq', (_message.Message,), {
  'DESCRIPTOR' : _LOGOUTREQ,
  '__module__' : 'trade.trade_pb2'
  # @@protoc_insertion_point(class_scope:trade.LogoutReq)
  })
_sym_db.RegisterMessage(LogoutReq)

LogoutRsp = _reflection.GeneratedProtocolMessageType('LogoutRsp', (_message.Message,), {
  'DESCRIPTOR' : _LOGOUTRSP,
  '__module__' : 'trade.trade_pb2'
  # @@protoc_insertion_point(class_scope:trade.LogoutRsp)
  })
_sym_db.RegisterMessage(LogoutRsp)

InstrumentData = _reflection.GeneratedProtocolMessageType('InstrumentData', (_message.Message,), {
  'DESCRIPTOR' : _INSTRUMENTDATA,
  '__module__' : 'trade.trade_pb2'
  # @@protoc_insertion_point(class_scope:trade.InstrumentData)
  })
_sym_db.RegisterMessage(InstrumentData)

QueryInstrumentReq = _reflection.GeneratedProtocolMessageType('QueryInstrumentReq', (_message.Message,), {
  'DESCRIPTOR' : _QUERYINSTRUMENTREQ,
  '__module__' : 'trade.trade_pb2'
  # @@protoc_insertion_point(class_scope:trade.QueryInstrumentReq)
  })
_sym_db.RegisterMessage(QueryInstrumentReq)

QueryInstrumentRsp = _reflection.GeneratedProtocolMessageType('QueryInstrumentRsp', (_message.Message,), {
  'DESCRIPTOR' : _QUERYINSTRUMENTRSP,
  '__module__' : 'trade.trade_pb2'
  # @@protoc_insertion_point(class_scope:trade.QueryInstrumentRsp)
  })
_sym_db.RegisterMessage(QueryInstrumentRsp)

QueryInstrumentListReq = _reflection.GeneratedProtocolMessageType('QueryInstrumentListReq', (_message.Message,), {
  'DESCRIPTOR' : _QUERYINSTRUMENTLISTREQ,
  '__module__' : 'trade.trade_pb2'
  # @@protoc_insertion_point(class_scope:trade.QueryInstrumentListReq)
  })
_sym_db.RegisterMessage(QueryInstrumentListReq)

QueryInstrumentListRsp = _reflection.GeneratedProtocolMessageType('QueryInstrumentListRsp', (_message.Message,), {
  'DESCRIPTOR' : _QUERYINSTRUMENTLISTRSP,
  '__module__' : 'trade.trade_pb2'
  # @@protoc_insertion_point(class_scope:trade.QueryInstrumentListRsp)
  })
_sym_db.RegisterMessage(QueryInstrumentListRsp)

SecurityData = _reflection.GeneratedProtocolMessageType('SecurityData', (_message.Message,), {
  'DESCRIPTOR' : _SECURITYDATA,
  '__module__' : 'trade.trade_pb2'
  # @@protoc_insertion_point(class_scope:trade.SecurityData)
  })
_sym_db.RegisterMessage(SecurityData)

QuerySecurityReq = _reflection.GeneratedProtocolMessageType('QuerySecurityReq', (_message.Message,), {
  'DESCRIPTOR' : _QUERYSECURITYREQ,
  '__module__' : 'trade.trade_pb2'
  # @@protoc_insertion_point(class_scope:trade.QuerySecurityReq)
  })
_sym_db.RegisterMessage(QuerySecurityReq)

QuerySecurityRsp = _reflection.GeneratedProtocolMessageType('QuerySecurityRsp', (_message.Message,), {
  'DESCRIPTOR' : _QUERYSECURITYRSP,
  '__module__' : 'trade.trade_pb2'
  # @@protoc_insertion_point(class_scope:trade.QuerySecurityRsp)
  })
_sym_db.RegisterMessage(QuerySecurityRsp)


DESCRIPTOR._options = None
# @@protoc_insertion_point(module_scope)
