# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: data/api/data.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
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
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
from nf.pb.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2
from nf.pb.core.api import account_pb2 as core_dot_api_dot_account__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='data/api/data.proto',
  package='data.api',
  syntax='proto3',
  serialized_pb=_b('\n\x13\x64\x61ta/api/data.proto\x12\x08\x64\x61ta.api\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14gogoproto/gogo.proto\x1a\x16\x63ore/api/account.proto\"C\n\x05Quote\x12\r\n\x05\x62id_p\x18\x01 \x01(\x01\x12\r\n\x05\x62id_v\x18\x02 \x01(\x01\x12\r\n\x05\x61sk_p\x18\x03 \x01(\x01\x12\r\n\x05\x61sk_v\x18\x04 \x01(\x01\"r\n\tOrderBook\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x1f\n\x06quotes\x18\x02 \x03(\x0b\x32\x0f.data.api.Quote\x12\x34\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\x90\xdf\x1f\x01\"/\n\nOrderBooks\x12!\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\x13.data.api.OrderBook\"\xd1\x01\n\x05Trade\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x10\n\x08trade_id\x18\x02 \x01(\t\x12\x16\n\x0emaker_order_id\x18\x03 \x01(\t\x12\x16\n\x0etaker_order_id\x18\x04 \x01(\t\x12\x0e\n\x06volume\x18\x05 \x01(\x01\x12\r\n\x05price\x18\x06 \x01(\x01\x12!\n\x04side\x18\x07 \x01(\x0e\x32\x13.core.api.OrderSide\x12\x34\n\ncreated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\x90\xdf\x1f\x01\"\'\n\x06Trades\x12\x1d\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\x0f.data.api.Trade\"\xbf\x05\n\x04Tick\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x34\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\x90\xdf\x1f\x01\x12\x16\n\x0e\x66rist_trade_id\x18\x03 \x01(\t\x12\x15\n\rlast_trade_id\x18\x04 \x01(\t\x12\x10\n\x08sequence\x18\x05 \x01(\t\x12\r\n\x05price\x18\x06 \x01(\x01\x12\x0c\n\x04side\x18\x07 \x01(\x05\x12\x13\n\x0blast_volume\x18\x08 \x01(\x01\x12\x1f\n\x06quotes\x18\t \x03(\x0b\x32\x0f.data.api.Quote\x12\x14\n\x0cprice_change\x18\n \x01(\x01\x12\x19\n\x11price_change_perc\x18\x0b \x01(\x01\x12\x0e\n\x06volume\x18\x0c \x01(\x01\x12\x14\n\x0cquote_volume\x18\r \x01(\x01\x12\x0c\n\x04high\x18\x0e \x01(\x01\x12\x0b\n\x03low\x18\x0f \x01(\x01\x12\x16\n\x0eprevious_close\x18\x10 \x01(\x01\x12\x15\n\rcurrent_close\x18\x11 \x01(\x01\x12\x1c\n\x14\x63lose_trade_quantity\x18\x12 \x01(\x01\x12\x0c\n\x04open\x18\x13 \x01(\x01\x12\x33\n\topen_time\x18\x14 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\x90\xdf\x1f\x01\x12\x34\n\nclose_time\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\x90\xdf\x1f\x01\x12\x14\n\x0ctrade_amount\x18\x16 \x01(\x01\x12\r\n\x05\x66ront\x18\x17 \x01(\t\x12\x0c\n\x04rare\x18\x18 \x01(\t\x12\x12\n\nfront_rate\x18\x19 \x01(\x01\x12\x11\n\trare_rate\x18\x1a \x01(\x01\x12\x10\n\x08\x64\x61y_high\x18\x1b \x01(\x01\x12\x0f\n\x07\x64\x61y_low\x18\x1c \x01(\x01\x12\x12\n\nmark_price\x18\x1d \x01(\x01\x12\x14\n\x0copenInterest\x18\x1e \x01(\x01\"%\n\x05Ticks\x12\x1c\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\x0e.data.api.Tick\"\x92\x02\n\x03\x42\x61r\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x11\n\tfrequency\x18\x02 \x01(\t\x12\x0c\n\x04open\x18\x03 \x01(\x01\x12\x0c\n\x04high\x18\x04 \x01(\x01\x12\x0b\n\x03low\x18\x05 \x01(\x01\x12\r\n\x05\x63lose\x18\x06 \x01(\x01\x12\x0e\n\x06volume\x18\x07 \x01(\x01\x12-\n\x03\x62ob\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\x90\xdf\x1f\x01\x12-\n\x03\x65ob\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\x90\xdf\x1f\x01\x12\r\n\x05\x66ront\x18\n \x01(\t\x12\x0c\n\x04rare\x18\x0b \x01(\t\x12\x12\n\nfront_rate\x18\x0c \x01(\x01\x12\x11\n\trare_rate\x18\r \x01(\x01\"#\n\x04\x42\x61rs\x12\x1b\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\r.data.api.Bar\"/\n\nCommisions\x12!\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\x13.data.api.Commision\"F\n\tCommision\x12\x0e\n\x06market\x18\x01 \x01(\t\x12\x16\n\x0e\x63ommision_coin\x18\x02 \x01(\t\x12\x11\n\tcommision\x18\x03 \x01(\x01\"\x9d\x03\n\x0eInstrumentInfo\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x10\n\x08sec_type\x18\x02 \x01(\x05\x12\x10\n\x08\x65xchange\x18\x03 \x01(\t\x12\x0e\n\x06sec_id\x18\x04 \x01(\t\x12\x10\n\x08sec_name\x18\x05 \x01(\t\x12\x10\n\x08sec_abbr\x18\x06 \x01(\t\x12\x12\n\nprice_tick\x18\x07 \x01(\x01\x12\x35\n\x0blisted_date\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\x90\xdf\x1f\x01\x12\x37\n\rdelisted_date\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\x90\xdf\x1f\x01\x12\x0c\n\x04\x62\x61se\x18\n \x01(\t\x12\r\n\x05quote\x18\x0b \x01(\t\x12\x1c\n\x14maintain_margin_rate\x18\x0c \x01(\x01\x12\x0e\n\x06min_lg\x18\r \x01(\x01\x12\x0e\n\x06max_lg\x18\x0e \x01(\x01\x12\n\n\x02lg\x18\x0f \x03(\x01\x12\x11\n\ttaker_fee\x18\x10 \x01(\x01\x12\x0e\n\x06settle\x18\x11 \x01(\t\x12\x15\n\rscaling_ratio\x18\x12 \x01(\x01\"9\n\x0fInstrumentInfos\x12&\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\x18.data.api.InstrumentInfo\"\xda\x02\n\nInstrument\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x11\n\tsec_level\x18\x02 \x01(\x05\x12\x14\n\x0cis_suspended\x18\x03 \x01(\x05\x12\x12\n\nmultiplier\x18\x04 \x01(\x01\x12\x14\n\x0cmargin_ratio\x18\x05 \x01(\x01\x12\x14\n\x0csettle_price\x18\x06 \x01(\x02\x12\x10\n\x08position\x18\x07 \x01(\x03\x12\x11\n\tpre_close\x18\x08 \x01(\x02\x12\x12\n\npre_settle\x18\x0e \x01(\x02\x12\x13\n\x0bupper_limit\x18\t \x01(\x01\x12\x13\n\x0blower_limit\x18\n \x01(\x01\x12\x12\n\nadj_factor\x18\x0b \x01(\x01\x12&\n\x04info\x18\x0c \x01(\x0b\x32\x18.data.api.InstrumentInfo\x12\x34\n\ncreated_at\x18\r \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\x90\xdf\x1f\x01\"1\n\x0bInstruments\x12\"\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\x14.data.api.Instrument\"\xc8\x01\n\x08\x44ividend\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61sh_div\x18\x02 \x01(\x01\x12\x17\n\x0fshare_div_ratio\x18\x03 \x01(\x01\x12\x19\n\x11share_trans_ratio\x18\x04 \x01(\x01\x12\x17\n\x0f\x61llotment_ratio\x18\x05 \x01(\x01\x12\x17\n\x0f\x61llotment_price\x18\x06 \x01(\x01\x12\x34\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\x90\xdf\x1f\x01\"-\n\tDividends\x12 \n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\x12.data.api.Dividend\"Z\n\x12\x43ontinuousContract\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x34\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\x90\xdf\x1f\x01\"A\n\x13\x43ontinuousContracts\x12*\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\x1c.data.api.ContinuousContract\"\xb7\x01\n\x0b\x43onstituent\x12=\n\x0c\x63onstituents\x18\x01 \x03(\x0b\x32\'.data.api.Constituent.ConstituentsEntry\x12\x34\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\x90\xdf\x1f\x01\x1a\x33\n\x11\x43onstituentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x02:\x02\x38\x01\"3\n\x0c\x43onstituents\x12#\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\x15.data.api.Constituent\"8\n\x10\x45xchangeRateList\x12$\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\x16.data.api.ExchangeRate\"G\n\x0c\x45xchangeRate\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x10\n\x08rate_usd\x18\x02 \x01(\t\x12\x15\n\rsnapshot_time\x18\x03 \x01(\t\"v\n\tDethpRate\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\r\n\x05level\x18\x02 \x01(\x05\x12\r\n\x05price\x18\x03 \x01(\x01\x12\x0e\n\x06volume\x18\x04 \x01(\x01\x12\r\n\x05total\x18\x05 \x01(\x01\x12\x0c\n\x04side\x18\x06 \x01(\x05\x12\x0e\n\x06\x65\x64\x66lag\x18\x07 \x01(\x05\"e\n\rDethpRateList\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12!\n\x04\x62ids\x18\x02 \x03(\x0b\x32\x13.data.api.DethpRate\x12!\n\x04\x61sks\x18\x03 \x03(\x0b\x32\x13.data.api.DethpRate\"{\n\x11\x44\x65thpRateListsend\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x10\n\x08timesend\x18\x02 \x01(\x03\x12!\n\x04\x62ids\x18\x03 \x03(\x0b\x32\x13.data.api.DethpRate\x12!\n\x04\x61sks\x18\x04 \x03(\x0b\x32\x13.data.api.DethpRate\"7\n\x0e\x44\x65thpRateLists\x12%\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\x17.data.api.DethpRateList\"a\n\tMarkPrice\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\r\n\x05price\x18\x02 \x01(\x01\x12\x35\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\x90\xdf\x1f\x01\"/\n\nMarkPrices\x12!\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\x13.data.api.MarkPriceB*Z(nextfin.com/nfplatform/data/api;data_apib\x06proto3')
  ,
  dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,gogoproto_dot_gogo__pb2.DESCRIPTOR,core_dot_api_dot_account__pb2.DESCRIPTOR,])




_QUOTE = _descriptor.Descriptor(
  name='Quote',
  full_name='data.api.Quote',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='bid_p', full_name='data.api.Quote.bid_p', index=0,
      number=1, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='bid_v', full_name='data.api.Quote.bid_v', index=1,
      number=2, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='ask_p', full_name='data.api.Quote.ask_p', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='ask_v', full_name='data.api.Quote.ask_v', index=3,
      number=4, 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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=112,
  serialized_end=179,
)


_ORDERBOOK = _descriptor.Descriptor(
  name='OrderBook',
  full_name='data.api.OrderBook',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='symbol', full_name='data.api.OrderBook.symbol', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='quotes', full_name='data.api.OrderBook.quotes', index=1,
      number=2, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='created_at', full_name='data.api.OrderBook.created_at', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=181,
  serialized_end=295,
)


_ORDERBOOKS = _descriptor.Descriptor(
  name='OrderBooks',
  full_name='data.api.OrderBooks',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='data.api.OrderBooks.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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=297,
  serialized_end=344,
)


_TRADE = _descriptor.Descriptor(
  name='Trade',
  full_name='data.api.Trade',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='symbol', full_name='data.api.Trade.symbol', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='trade_id', full_name='data.api.Trade.trade_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,
      options=None),
    _descriptor.FieldDescriptor(
      name='maker_order_id', full_name='data.api.Trade.maker_order_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,
      options=None),
    _descriptor.FieldDescriptor(
      name='taker_order_id', full_name='data.api.Trade.taker_order_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,
      options=None),
    _descriptor.FieldDescriptor(
      name='volume', full_name='data.api.Trade.volume', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='price', full_name='data.api.Trade.price', index=5,
      number=6, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='side', full_name='data.api.Trade.side', index=6,
      number=7, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='created_at', full_name='data.api.Trade.created_at', index=7,
      number=8, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=347,
  serialized_end=556,
)


_TRADES = _descriptor.Descriptor(
  name='Trades',
  full_name='data.api.Trades',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='data.api.Trades.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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=558,
  serialized_end=597,
)


_TICK = _descriptor.Descriptor(
  name='Tick',
  full_name='data.api.Tick',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='symbol', full_name='data.api.Tick.symbol', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='created_at', full_name='data.api.Tick.created_at', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))),
    _descriptor.FieldDescriptor(
      name='frist_trade_id', full_name='data.api.Tick.frist_trade_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,
      options=None),
    _descriptor.FieldDescriptor(
      name='last_trade_id', full_name='data.api.Tick.last_trade_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,
      options=None),
    _descriptor.FieldDescriptor(
      name='sequence', full_name='data.api.Tick.sequence', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='price', full_name='data.api.Tick.price', index=5,
      number=6, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='side', full_name='data.api.Tick.side', index=6,
      number=7, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='last_volume', full_name='data.api.Tick.last_volume', index=7,
      number=8, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='quotes', full_name='data.api.Tick.quotes', index=8,
      number=9, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='price_change', full_name='data.api.Tick.price_change', index=9,
      number=10, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='price_change_perc', full_name='data.api.Tick.price_change_perc', index=10,
      number=11, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='volume', full_name='data.api.Tick.volume', index=11,
      number=12, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='quote_volume', full_name='data.api.Tick.quote_volume', index=12,
      number=13, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='high', full_name='data.api.Tick.high', index=13,
      number=14, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='low', full_name='data.api.Tick.low', index=14,
      number=15, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='previous_close', full_name='data.api.Tick.previous_close', index=15,
      number=16, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='current_close', full_name='data.api.Tick.current_close', index=16,
      number=17, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='close_trade_quantity', full_name='data.api.Tick.close_trade_quantity', index=17,
      number=18, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='open', full_name='data.api.Tick.open', index=18,
      number=19, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='open_time', full_name='data.api.Tick.open_time', index=19,
      number=20, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))),
    _descriptor.FieldDescriptor(
      name='close_time', full_name='data.api.Tick.close_time', index=20,
      number=21, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))),
    _descriptor.FieldDescriptor(
      name='trade_amount', full_name='data.api.Tick.trade_amount', index=21,
      number=22, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='front', full_name='data.api.Tick.front', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='rare', full_name='data.api.Tick.rare', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='front_rate', full_name='data.api.Tick.front_rate', index=24,
      number=25, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='rare_rate', full_name='data.api.Tick.rare_rate', index=25,
      number=26, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='day_high', full_name='data.api.Tick.day_high', index=26,
      number=27, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='day_low', full_name='data.api.Tick.day_low', index=27,
      number=28, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='mark_price', full_name='data.api.Tick.mark_price', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='openInterest', full_name='data.api.Tick.openInterest', 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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=600,
  serialized_end=1303,
)


_TICKS = _descriptor.Descriptor(
  name='Ticks',
  full_name='data.api.Ticks',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='data.api.Ticks.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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1305,
  serialized_end=1342,
)


_BAR = _descriptor.Descriptor(
  name='Bar',
  full_name='data.api.Bar',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='symbol', full_name='data.api.Bar.symbol', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='frequency', full_name='data.api.Bar.frequency', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='open', full_name='data.api.Bar.open', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='high', full_name='data.api.Bar.high', index=3,
      number=4, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='low', full_name='data.api.Bar.low', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='close', full_name='data.api.Bar.close', index=5,
      number=6, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='volume', full_name='data.api.Bar.volume', index=6,
      number=7, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='bob', full_name='data.api.Bar.bob', index=7,
      number=8, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))),
    _descriptor.FieldDescriptor(
      name='eob', full_name='data.api.Bar.eob', index=8,
      number=9, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))),
    _descriptor.FieldDescriptor(
      name='front', full_name='data.api.Bar.front', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='rare', full_name='data.api.Bar.rare', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='front_rate', full_name='data.api.Bar.front_rate', index=11,
      number=12, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='rare_rate', full_name='data.api.Bar.rare_rate', index=12,
      number=13, 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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1345,
  serialized_end=1619,
)


_BARS = _descriptor.Descriptor(
  name='Bars',
  full_name='data.api.Bars',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='data.api.Bars.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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1621,
  serialized_end=1656,
)


_COMMISIONS = _descriptor.Descriptor(
  name='Commisions',
  full_name='data.api.Commisions',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='data.api.Commisions.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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1658,
  serialized_end=1705,
)


_COMMISION = _descriptor.Descriptor(
  name='Commision',
  full_name='data.api.Commision',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='market', full_name='data.api.Commision.market', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='commision_coin', full_name='data.api.Commision.commision_coin', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='commision', full_name='data.api.Commision.commision', 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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1707,
  serialized_end=1777,
)


_INSTRUMENTINFO = _descriptor.Descriptor(
  name='InstrumentInfo',
  full_name='data.api.InstrumentInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='symbol', full_name='data.api.InstrumentInfo.symbol', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='sec_type', full_name='data.api.InstrumentInfo.sec_type', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='exchange', full_name='data.api.InstrumentInfo.exchange', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='sec_id', full_name='data.api.InstrumentInfo.sec_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,
      options=None),
    _descriptor.FieldDescriptor(
      name='sec_name', full_name='data.api.InstrumentInfo.sec_name', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='sec_abbr', full_name='data.api.InstrumentInfo.sec_abbr', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='price_tick', full_name='data.api.InstrumentInfo.price_tick', index=6,
      number=7, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='listed_date', full_name='data.api.InstrumentInfo.listed_date', index=7,
      number=8, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))),
    _descriptor.FieldDescriptor(
      name='delisted_date', full_name='data.api.InstrumentInfo.delisted_date', index=8,
      number=9, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))),
    _descriptor.FieldDescriptor(
      name='base', full_name='data.api.InstrumentInfo.base', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='quote', full_name='data.api.InstrumentInfo.quote', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='maintain_margin_rate', full_name='data.api.InstrumentInfo.maintain_margin_rate', index=11,
      number=12, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='min_lg', full_name='data.api.InstrumentInfo.min_lg', index=12,
      number=13, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='max_lg', full_name='data.api.InstrumentInfo.max_lg', index=13,
      number=14, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='lg', full_name='data.api.InstrumentInfo.lg', index=14,
      number=15, type=1, cpp_type=5, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='taker_fee', full_name='data.api.InstrumentInfo.taker_fee', index=15,
      number=16, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='settle', full_name='data.api.InstrumentInfo.settle', index=16,
      number=17, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='scaling_ratio', full_name='data.api.InstrumentInfo.scaling_ratio', index=17,
      number=18, 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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1780,
  serialized_end=2193,
)


_INSTRUMENTINFOS = _descriptor.Descriptor(
  name='InstrumentInfos',
  full_name='data.api.InstrumentInfos',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='data.api.InstrumentInfos.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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2195,
  serialized_end=2252,
)


_INSTRUMENT = _descriptor.Descriptor(
  name='Instrument',
  full_name='data.api.Instrument',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='symbol', full_name='data.api.Instrument.symbol', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='sec_level', full_name='data.api.Instrument.sec_level', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='is_suspended', full_name='data.api.Instrument.is_suspended', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='multiplier', full_name='data.api.Instrument.multiplier', index=3,
      number=4, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='margin_ratio', full_name='data.api.Instrument.margin_ratio', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='settle_price', full_name='data.api.Instrument.settle_price', index=5,
      number=6, type=2, cpp_type=6, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='position', full_name='data.api.Instrument.position', index=6,
      number=7, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='pre_close', full_name='data.api.Instrument.pre_close', index=7,
      number=8, type=2, cpp_type=6, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='pre_settle', full_name='data.api.Instrument.pre_settle', index=8,
      number=14, type=2, cpp_type=6, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='upper_limit', full_name='data.api.Instrument.upper_limit', index=9,
      number=9, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='lower_limit', full_name='data.api.Instrument.lower_limit', index=10,
      number=10, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='adj_factor', full_name='data.api.Instrument.adj_factor', index=11,
      number=11, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='info', full_name='data.api.Instrument.info', index=12,
      number=12, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='created_at', full_name='data.api.Instrument.created_at', index=13,
      number=13, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2255,
  serialized_end=2601,
)


_INSTRUMENTS = _descriptor.Descriptor(
  name='Instruments',
  full_name='data.api.Instruments',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='data.api.Instruments.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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2603,
  serialized_end=2652,
)


_DIVIDEND = _descriptor.Descriptor(
  name='Dividend',
  full_name='data.api.Dividend',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='symbol', full_name='data.api.Dividend.symbol', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='cash_div', full_name='data.api.Dividend.cash_div', index=1,
      number=2, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='share_div_ratio', full_name='data.api.Dividend.share_div_ratio', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='share_trans_ratio', full_name='data.api.Dividend.share_trans_ratio', index=3,
      number=4, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='allotment_ratio', full_name='data.api.Dividend.allotment_ratio', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='allotment_price', full_name='data.api.Dividend.allotment_price', index=5,
      number=6, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='created_at', full_name='data.api.Dividend.created_at', index=6,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2655,
  serialized_end=2855,
)


_DIVIDENDS = _descriptor.Descriptor(
  name='Dividends',
  full_name='data.api.Dividends',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='data.api.Dividends.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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2857,
  serialized_end=2902,
)


_CONTINUOUSCONTRACT = _descriptor.Descriptor(
  name='ContinuousContract',
  full_name='data.api.ContinuousContract',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='symbol', full_name='data.api.ContinuousContract.symbol', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='created_at', full_name='data.api.ContinuousContract.created_at', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2904,
  serialized_end=2994,
)


_CONTINUOUSCONTRACTS = _descriptor.Descriptor(
  name='ContinuousContracts',
  full_name='data.api.ContinuousContracts',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='data.api.ContinuousContracts.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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2996,
  serialized_end=3061,
)


_CONSTITUENT_CONSTITUENTSENTRY = _descriptor.Descriptor(
  name='ConstituentsEntry',
  full_name='data.api.Constituent.ConstituentsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='data.api.Constituent.ConstituentsEntry.key', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='value', full_name='data.api.Constituent.ConstituentsEntry.value', index=1,
      number=2, type=2, cpp_type=6, 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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3196,
  serialized_end=3247,
)

_CONSTITUENT = _descriptor.Descriptor(
  name='Constituent',
  full_name='data.api.Constituent',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='constituents', full_name='data.api.Constituent.constituents', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='created_at', full_name='data.api.Constituent.created_at', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))),
  ],
  extensions=[
  ],
  nested_types=[_CONSTITUENT_CONSTITUENTSENTRY, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3064,
  serialized_end=3247,
)


_CONSTITUENTS = _descriptor.Descriptor(
  name='Constituents',
  full_name='data.api.Constituents',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='data.api.Constituents.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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3249,
  serialized_end=3300,
)


_EXCHANGERATELIST = _descriptor.Descriptor(
  name='ExchangeRateList',
  full_name='data.api.ExchangeRateList',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='data.api.ExchangeRateList.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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3302,
  serialized_end=3358,
)


_EXCHANGERATE = _descriptor.Descriptor(
  name='ExchangeRate',
  full_name='data.api.ExchangeRate',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='symbol', full_name='data.api.ExchangeRate.symbol', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='rate_usd', full_name='data.api.ExchangeRate.rate_usd', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='snapshot_time', full_name='data.api.ExchangeRate.snapshot_time', 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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3360,
  serialized_end=3431,
)


_DETHPRATE = _descriptor.Descriptor(
  name='DethpRate',
  full_name='data.api.DethpRate',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='symbol', full_name='data.api.DethpRate.symbol', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='level', full_name='data.api.DethpRate.level', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='price', full_name='data.api.DethpRate.price', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='volume', full_name='data.api.DethpRate.volume', index=3,
      number=4, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='total', full_name='data.api.DethpRate.total', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='side', full_name='data.api.DethpRate.side', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='edflag', full_name='data.api.DethpRate.edflag', index=6,
      number=7, 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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3433,
  serialized_end=3551,
)


_DETHPRATELIST = _descriptor.Descriptor(
  name='DethpRateList',
  full_name='data.api.DethpRateList',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='symbol', full_name='data.api.DethpRateList.symbol', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='bids', full_name='data.api.DethpRateList.bids', index=1,
      number=2, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='asks', full_name='data.api.DethpRateList.asks', index=2,
      number=3, 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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3553,
  serialized_end=3654,
)


_DETHPRATELISTSEND = _descriptor.Descriptor(
  name='DethpRateListsend',
  full_name='data.api.DethpRateListsend',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='symbol', full_name='data.api.DethpRateListsend.symbol', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='timesend', full_name='data.api.DethpRateListsend.timesend', index=1,
      number=2, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='bids', full_name='data.api.DethpRateListsend.bids', index=2,
      number=3, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='asks', full_name='data.api.DethpRateListsend.asks', index=3,
      number=4, 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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3656,
  serialized_end=3779,
)


_DETHPRATELISTS = _descriptor.Descriptor(
  name='DethpRateLists',
  full_name='data.api.DethpRateLists',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='data.api.DethpRateLists.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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3781,
  serialized_end=3836,
)


_MARKPRICE = _descriptor.Descriptor(
  name='MarkPrice',
  full_name='data.api.MarkPrice',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='symbol', full_name='data.api.MarkPrice.symbol', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='price', full_name='data.api.MarkPrice.price', index=1,
      number=2, 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='create_time', full_name='data.api.MarkPrice.create_time', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3838,
  serialized_end=3935,
)


_MARKPRICES = _descriptor.Descriptor(
  name='MarkPrices',
  full_name='data.api.MarkPrices',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='data.api.MarkPrices.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,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3937,
  serialized_end=3984,
)

_ORDERBOOK.fields_by_name['quotes'].message_type = _QUOTE
_ORDERBOOK.fields_by_name['created_at'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_ORDERBOOKS.fields_by_name['data'].message_type = _ORDERBOOK
_TRADE.fields_by_name['side'].enum_type = core_dot_api_dot_account__pb2._ORDERSIDE
_TRADE.fields_by_name['created_at'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_TRADES.fields_by_name['data'].message_type = _TRADE
_TICK.fields_by_name['created_at'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_TICK.fields_by_name['quotes'].message_type = _QUOTE
_TICK.fields_by_name['open_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_TICK.fields_by_name['close_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_TICKS.fields_by_name['data'].message_type = _TICK
_BAR.fields_by_name['bob'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_BAR.fields_by_name['eob'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_BARS.fields_by_name['data'].message_type = _BAR
_COMMISIONS.fields_by_name['data'].message_type = _COMMISION
_INSTRUMENTINFO.fields_by_name['listed_date'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_INSTRUMENTINFO.fields_by_name['delisted_date'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_INSTRUMENTINFOS.fields_by_name['data'].message_type = _INSTRUMENTINFO
_INSTRUMENT.fields_by_name['info'].message_type = _INSTRUMENTINFO
_INSTRUMENT.fields_by_name['created_at'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_INSTRUMENTS.fields_by_name['data'].message_type = _INSTRUMENT
_DIVIDEND.fields_by_name['created_at'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_DIVIDENDS.fields_by_name['data'].message_type = _DIVIDEND
_CONTINUOUSCONTRACT.fields_by_name['created_at'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_CONTINUOUSCONTRACTS.fields_by_name['data'].message_type = _CONTINUOUSCONTRACT
_CONSTITUENT_CONSTITUENTSENTRY.containing_type = _CONSTITUENT
_CONSTITUENT.fields_by_name['constituents'].message_type = _CONSTITUENT_CONSTITUENTSENTRY
_CONSTITUENT.fields_by_name['created_at'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_CONSTITUENTS.fields_by_name['data'].message_type = _CONSTITUENT
_EXCHANGERATELIST.fields_by_name['data'].message_type = _EXCHANGERATE
_DETHPRATELIST.fields_by_name['bids'].message_type = _DETHPRATE
_DETHPRATELIST.fields_by_name['asks'].message_type = _DETHPRATE
_DETHPRATELISTSEND.fields_by_name['bids'].message_type = _DETHPRATE
_DETHPRATELISTSEND.fields_by_name['asks'].message_type = _DETHPRATE
_DETHPRATELISTS.fields_by_name['data'].message_type = _DETHPRATELIST
_MARKPRICE.fields_by_name['create_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_MARKPRICES.fields_by_name['data'].message_type = _MARKPRICE
DESCRIPTOR.message_types_by_name['Quote'] = _QUOTE
DESCRIPTOR.message_types_by_name['OrderBook'] = _ORDERBOOK
DESCRIPTOR.message_types_by_name['OrderBooks'] = _ORDERBOOKS
DESCRIPTOR.message_types_by_name['Trade'] = _TRADE
DESCRIPTOR.message_types_by_name['Trades'] = _TRADES
DESCRIPTOR.message_types_by_name['Tick'] = _TICK
DESCRIPTOR.message_types_by_name['Ticks'] = _TICKS
DESCRIPTOR.message_types_by_name['Bar'] = _BAR
DESCRIPTOR.message_types_by_name['Bars'] = _BARS
DESCRIPTOR.message_types_by_name['Commisions'] = _COMMISIONS
DESCRIPTOR.message_types_by_name['Commision'] = _COMMISION
DESCRIPTOR.message_types_by_name['InstrumentInfo'] = _INSTRUMENTINFO
DESCRIPTOR.message_types_by_name['InstrumentInfos'] = _INSTRUMENTINFOS
DESCRIPTOR.message_types_by_name['Instrument'] = _INSTRUMENT
DESCRIPTOR.message_types_by_name['Instruments'] = _INSTRUMENTS
DESCRIPTOR.message_types_by_name['Dividend'] = _DIVIDEND
DESCRIPTOR.message_types_by_name['Dividends'] = _DIVIDENDS
DESCRIPTOR.message_types_by_name['ContinuousContract'] = _CONTINUOUSCONTRACT
DESCRIPTOR.message_types_by_name['ContinuousContracts'] = _CONTINUOUSCONTRACTS
DESCRIPTOR.message_types_by_name['Constituent'] = _CONSTITUENT
DESCRIPTOR.message_types_by_name['Constituents'] = _CONSTITUENTS
DESCRIPTOR.message_types_by_name['ExchangeRateList'] = _EXCHANGERATELIST
DESCRIPTOR.message_types_by_name['ExchangeRate'] = _EXCHANGERATE
DESCRIPTOR.message_types_by_name['DethpRate'] = _DETHPRATE
DESCRIPTOR.message_types_by_name['DethpRateList'] = _DETHPRATELIST
DESCRIPTOR.message_types_by_name['DethpRateListsend'] = _DETHPRATELISTSEND
DESCRIPTOR.message_types_by_name['DethpRateLists'] = _DETHPRATELISTS
DESCRIPTOR.message_types_by_name['MarkPrice'] = _MARKPRICE
DESCRIPTOR.message_types_by_name['MarkPrices'] = _MARKPRICES
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

Quote = _reflection.GeneratedProtocolMessageType('Quote', (_message.Message,), dict(
  DESCRIPTOR = _QUOTE,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.Quote)
  ))
_sym_db.RegisterMessage(Quote)

OrderBook = _reflection.GeneratedProtocolMessageType('OrderBook', (_message.Message,), dict(
  DESCRIPTOR = _ORDERBOOK,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.OrderBook)
  ))
_sym_db.RegisterMessage(OrderBook)

OrderBooks = _reflection.GeneratedProtocolMessageType('OrderBooks', (_message.Message,), dict(
  DESCRIPTOR = _ORDERBOOKS,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.OrderBooks)
  ))
_sym_db.RegisterMessage(OrderBooks)

Trade = _reflection.GeneratedProtocolMessageType('Trade', (_message.Message,), dict(
  DESCRIPTOR = _TRADE,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.Trade)
  ))
_sym_db.RegisterMessage(Trade)

Trades = _reflection.GeneratedProtocolMessageType('Trades', (_message.Message,), dict(
  DESCRIPTOR = _TRADES,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.Trades)
  ))
_sym_db.RegisterMessage(Trades)

Tick = _reflection.GeneratedProtocolMessageType('Tick', (_message.Message,), dict(
  DESCRIPTOR = _TICK,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.Tick)
  ))
_sym_db.RegisterMessage(Tick)

Ticks = _reflection.GeneratedProtocolMessageType('Ticks', (_message.Message,), dict(
  DESCRIPTOR = _TICKS,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.Ticks)
  ))
_sym_db.RegisterMessage(Ticks)

Bar = _reflection.GeneratedProtocolMessageType('Bar', (_message.Message,), dict(
  DESCRIPTOR = _BAR,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.Bar)
  ))
_sym_db.RegisterMessage(Bar)

Bars = _reflection.GeneratedProtocolMessageType('Bars', (_message.Message,), dict(
  DESCRIPTOR = _BARS,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.Bars)
  ))
_sym_db.RegisterMessage(Bars)

Commisions = _reflection.GeneratedProtocolMessageType('Commisions', (_message.Message,), dict(
  DESCRIPTOR = _COMMISIONS,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.Commisions)
  ))
_sym_db.RegisterMessage(Commisions)

Commision = _reflection.GeneratedProtocolMessageType('Commision', (_message.Message,), dict(
  DESCRIPTOR = _COMMISION,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.Commision)
  ))
_sym_db.RegisterMessage(Commision)

InstrumentInfo = _reflection.GeneratedProtocolMessageType('InstrumentInfo', (_message.Message,), dict(
  DESCRIPTOR = _INSTRUMENTINFO,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.InstrumentInfo)
  ))
_sym_db.RegisterMessage(InstrumentInfo)

InstrumentInfos = _reflection.GeneratedProtocolMessageType('InstrumentInfos', (_message.Message,), dict(
  DESCRIPTOR = _INSTRUMENTINFOS,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.InstrumentInfos)
  ))
_sym_db.RegisterMessage(InstrumentInfos)

Instrument = _reflection.GeneratedProtocolMessageType('Instrument', (_message.Message,), dict(
  DESCRIPTOR = _INSTRUMENT,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.Instrument)
  ))
_sym_db.RegisterMessage(Instrument)

Instruments = _reflection.GeneratedProtocolMessageType('Instruments', (_message.Message,), dict(
  DESCRIPTOR = _INSTRUMENTS,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.Instruments)
  ))
_sym_db.RegisterMessage(Instruments)

Dividend = _reflection.GeneratedProtocolMessageType('Dividend', (_message.Message,), dict(
  DESCRIPTOR = _DIVIDEND,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.Dividend)
  ))
_sym_db.RegisterMessage(Dividend)

Dividends = _reflection.GeneratedProtocolMessageType('Dividends', (_message.Message,), dict(
  DESCRIPTOR = _DIVIDENDS,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.Dividends)
  ))
_sym_db.RegisterMessage(Dividends)

ContinuousContract = _reflection.GeneratedProtocolMessageType('ContinuousContract', (_message.Message,), dict(
  DESCRIPTOR = _CONTINUOUSCONTRACT,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.ContinuousContract)
  ))
_sym_db.RegisterMessage(ContinuousContract)

ContinuousContracts = _reflection.GeneratedProtocolMessageType('ContinuousContracts', (_message.Message,), dict(
  DESCRIPTOR = _CONTINUOUSCONTRACTS,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.ContinuousContracts)
  ))
_sym_db.RegisterMessage(ContinuousContracts)

Constituent = _reflection.GeneratedProtocolMessageType('Constituent', (_message.Message,), dict(

  ConstituentsEntry = _reflection.GeneratedProtocolMessageType('ConstituentsEntry', (_message.Message,), dict(
    DESCRIPTOR = _CONSTITUENT_CONSTITUENTSENTRY,
    __module__ = 'data.api.data_pb2'
    # @@protoc_insertion_point(class_scope:data.api.Constituent.ConstituentsEntry)
    ))
  ,
  DESCRIPTOR = _CONSTITUENT,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.Constituent)
  ))
_sym_db.RegisterMessage(Constituent)
_sym_db.RegisterMessage(Constituent.ConstituentsEntry)

Constituents = _reflection.GeneratedProtocolMessageType('Constituents', (_message.Message,), dict(
  DESCRIPTOR = _CONSTITUENTS,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.Constituents)
  ))
_sym_db.RegisterMessage(Constituents)

ExchangeRateList = _reflection.GeneratedProtocolMessageType('ExchangeRateList', (_message.Message,), dict(
  DESCRIPTOR = _EXCHANGERATELIST,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.ExchangeRateList)
  ))
_sym_db.RegisterMessage(ExchangeRateList)

ExchangeRate = _reflection.GeneratedProtocolMessageType('ExchangeRate', (_message.Message,), dict(
  DESCRIPTOR = _EXCHANGERATE,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.ExchangeRate)
  ))
_sym_db.RegisterMessage(ExchangeRate)

DethpRate = _reflection.GeneratedProtocolMessageType('DethpRate', (_message.Message,), dict(
  DESCRIPTOR = _DETHPRATE,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.DethpRate)
  ))
_sym_db.RegisterMessage(DethpRate)

DethpRateList = _reflection.GeneratedProtocolMessageType('DethpRateList', (_message.Message,), dict(
  DESCRIPTOR = _DETHPRATELIST,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.DethpRateList)
  ))
_sym_db.RegisterMessage(DethpRateList)

DethpRateListsend = _reflection.GeneratedProtocolMessageType('DethpRateListsend', (_message.Message,), dict(
  DESCRIPTOR = _DETHPRATELISTSEND,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.DethpRateListsend)
  ))
_sym_db.RegisterMessage(DethpRateListsend)

DethpRateLists = _reflection.GeneratedProtocolMessageType('DethpRateLists', (_message.Message,), dict(
  DESCRIPTOR = _DETHPRATELISTS,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.DethpRateLists)
  ))
_sym_db.RegisterMessage(DethpRateLists)

MarkPrice = _reflection.GeneratedProtocolMessageType('MarkPrice', (_message.Message,), dict(
  DESCRIPTOR = _MARKPRICE,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.MarkPrice)
  ))
_sym_db.RegisterMessage(MarkPrice)

MarkPrices = _reflection.GeneratedProtocolMessageType('MarkPrices', (_message.Message,), dict(
  DESCRIPTOR = _MARKPRICES,
  __module__ = 'data.api.data_pb2'
  # @@protoc_insertion_point(class_scope:data.api.MarkPrices)
  ))
_sym_db.RegisterMessage(MarkPrices)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z(nextfin.com/nfplatform/data/api;data_api'))
_ORDERBOOK.fields_by_name['created_at'].has_options = True
_ORDERBOOK.fields_by_name['created_at']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))
_TRADE.fields_by_name['created_at'].has_options = True
_TRADE.fields_by_name['created_at']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))
_TICK.fields_by_name['created_at'].has_options = True
_TICK.fields_by_name['created_at']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))
_TICK.fields_by_name['open_time'].has_options = True
_TICK.fields_by_name['open_time']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))
_TICK.fields_by_name['close_time'].has_options = True
_TICK.fields_by_name['close_time']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))
_BAR.fields_by_name['bob'].has_options = True
_BAR.fields_by_name['bob']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))
_BAR.fields_by_name['eob'].has_options = True
_BAR.fields_by_name['eob']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))
_INSTRUMENTINFO.fields_by_name['listed_date'].has_options = True
_INSTRUMENTINFO.fields_by_name['listed_date']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))
_INSTRUMENTINFO.fields_by_name['delisted_date'].has_options = True
_INSTRUMENTINFO.fields_by_name['delisted_date']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))
_INSTRUMENT.fields_by_name['created_at'].has_options = True
_INSTRUMENT.fields_by_name['created_at']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))
_DIVIDEND.fields_by_name['created_at'].has_options = True
_DIVIDEND.fields_by_name['created_at']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))
_CONTINUOUSCONTRACT.fields_by_name['created_at'].has_options = True
_CONTINUOUSCONTRACT.fields_by_name['created_at']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))
_CONSTITUENT_CONSTITUENTSENTRY.has_options = True
_CONSTITUENT_CONSTITUENTSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
_CONSTITUENT.fields_by_name['created_at'].has_options = True
_CONSTITUENT.fields_by_name['created_at']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))
_MARKPRICE.fields_by_name['create_time'].has_options = True
_MARKPRICE.fields_by_name['create_time']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\220\337\037\001'))
# @@protoc_insertion_point(module_scope)
