from google.protobuf.internal import containers as _containers
from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from collections.abc import Iterable as _Iterable, Mapping as _Mapping
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
DESCRIPTOR: _descriptor.FileDescriptor
class BoardType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = ()
REGULAR: _ClassVar[BoardType]
NEGOTIATION: _ClassVar[BoardType]
CASH: _ClassVar[BoardType]
ALL: _ClassVar[BoardType]
class ActionType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = ()
ACTION_BUY: _ClassVar[ActionType]
ACTION_SELL: _ClassVar[ActionType]
ACTION_ALL: _ClassVar[ActionType]
class OrderStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = ()
OPEN: _ClassVar[OrderStatus]
FULL_MATCH: _ClassVar[OrderStatus]
WITHDRAWN: _ClassVar[OrderStatus]
PARTIAL_MATCH: _ClassVar[OrderStatus]
AMEND: _ClassVar[OrderStatus]
ORDER_ALL: _ClassVar[OrderStatus]
class MoverType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = ()
TOP_GAINER: _ClassVar[MoverType]
TOP_LOSER: _ClassVar[MoverType]
MOST_ACTIVE: _ClassVar[MoverType]
class FilterStocksType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = ()
FILTER_ALL: _ClassVar[FilterStocksType]
FILTER_REGULER: _ClassVar[FilterStocksType]
FILTER_TUNAI: _ClassVar[FilterStocksType]
FILTER_NEGO: _ClassVar[FilterStocksType]
class Source(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = ()
SOURCE_REGULER: _ClassVar[Source]
SOURCE_TUNAI: _ClassVar[Source]
SOURCE_NEGO: _ClassVar[Source]
SOURCE_NON_REGULER: _ClassVar[Source]
SOURCE_ALL_MARKET: _ClassVar[Source]
class SwitchReset(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = ()
NO_SWITCH: _ClassVar[SwitchReset]
SWITCH: _ClassVar[SwitchReset]
RESET: _ClassVar[SwitchReset]
class Change(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = ()
NO_CHANGE: _ClassVar[Change]
UP: _ClassVar[Change]
DOWN: _ClassVar[Change]
class TradeType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = ()
BUY: _ClassVar[TradeType]
SELL: _ClassVar[TradeType]
class MarketBoardType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = ()
MARKET_REGULER: _ClassVar[MarketBoardType]
MARKET_TUNAI: _ClassVar[MarketBoardType]
MARKET_NEGO: _ClassVar[MarketBoardType]
REGULAR: BoardType
NEGOTIATION: BoardType
CASH: BoardType
ALL: BoardType
ACTION_BUY: ActionType
ACTION_SELL: ActionType
ACTION_ALL: ActionType
OPEN: OrderStatus
FULL_MATCH: OrderStatus
WITHDRAWN: OrderStatus
PARTIAL_MATCH: OrderStatus
AMEND: OrderStatus
ORDER_ALL: OrderStatus
TOP_GAINER: MoverType
TOP_LOSER: MoverType
MOST_ACTIVE: MoverType
FILTER_ALL: FilterStocksType
FILTER_REGULER: FilterStocksType
FILTER_TUNAI: FilterStocksType
FILTER_NEGO: FilterStocksType
SOURCE_REGULER: Source
SOURCE_TUNAI: Source
SOURCE_NEGO: Source
SOURCE_NON_REGULER: Source
SOURCE_ALL_MARKET: Source
NO_SWITCH: SwitchReset
SWITCH: SwitchReset
RESET: SwitchReset
NO_CHANGE: Change
UP: Change
DOWN: Change
BUY: TradeType
SELL: TradeType
MARKET_REGULER: MarketBoardType
MARKET_TUNAI: MarketBoardType
MARKET_NEGO: MarketBoardType
class WebsocketRequest(_message.Message):
__slots__ = ("user_id", "channel", "key", "ping", "access_token")
USER_ID_FIELD_NUMBER: _ClassVar[int]
CHANNEL_FIELD_NUMBER: _ClassVar[int]
KEY_FIELD_NUMBER: _ClassVar[int]
PING_FIELD_NUMBER: _ClassVar[int]
ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int]
user_id: str
channel: WebsocketChannel
key: str
ping: PingRequest
access_token: str
def __init__(self, user_id: _Optional[str] = ..., channel: _Optional[_Union[WebsocketChannel, _Mapping]] = ..., key: _Optional[str] = ..., ping: _Optional[_Union[PingRequest, _Mapping]] = ..., access_token: _Optional[str] = ...) -> None: ...
class PingRequest(_message.Message):
__slots__ = ("message",)
MESSAGE_FIELD_NUMBER: _ClassVar[int]
message: str
def __init__(self, message: _Optional[str] = ...) -> None: ...
class WebsocketChannel(_message.Message):
__slots__ = ("watchlist", "order_book", "running_trade", "is_hotlist", "running_trade_batch", "liveprice", "iepiev", "intraday", "best_bid_offer", "market_mover", "order_queue", "liveprice_v3", "order_book_v3", "intraday_v3")
WATCHLIST_FIELD_NUMBER: _ClassVar[int]
ORDER_BOOK_FIELD_NUMBER: _ClassVar[int]
RUNNING_TRADE_FIELD_NUMBER: _ClassVar[int]
IS_HOTLIST_FIELD_NUMBER: _ClassVar[int]
RUNNING_TRADE_BATCH_FIELD_NUMBER: _ClassVar[int]
LIVEPRICE_FIELD_NUMBER: _ClassVar[int]
IEPIEV_FIELD_NUMBER: _ClassVar[int]
INTRADAY_FIELD_NUMBER: _ClassVar[int]
BEST_BID_OFFER_FIELD_NUMBER: _ClassVar[int]
MARKET_MOVER_FIELD_NUMBER: _ClassVar[int]
ORDER_QUEUE_FIELD_NUMBER: _ClassVar[int]
LIVEPRICE_V3_FIELD_NUMBER: _ClassVar[int]
ORDER_BOOK_V3_FIELD_NUMBER: _ClassVar[int]
INTRADAY_V3_FIELD_NUMBER: _ClassVar[int]
watchlist: _containers.RepeatedScalarFieldContainer[str]
order_book: _containers.RepeatedScalarFieldContainer[str]
running_trade: _containers.RepeatedScalarFieldContainer[str]
is_hotlist: bool
running_trade_batch: _containers.RepeatedScalarFieldContainer[str]
liveprice: _containers.RepeatedScalarFieldContainer[str]
iepiev: _containers.RepeatedScalarFieldContainer[str]
intraday: _containers.RepeatedScalarFieldContainer[str]
best_bid_offer: _containers.RepeatedScalarFieldContainer[str]
market_mover: _containers.RepeatedCompositeFieldContainer[MarketMoverWebsocketRequest]
order_queue: _containers.RepeatedCompositeFieldContainer[OrderQueueWebsocketRequest]
liveprice_v3: _containers.RepeatedScalarFieldContainer[str]
order_book_v3: _containers.RepeatedScalarFieldContainer[str]
intraday_v3: _containers.RepeatedScalarFieldContainer[str]
def __init__(self, watchlist: _Optional[_Iterable[str]] = ..., order_book: _Optional[_Iterable[str]] = ..., running_trade: _Optional[_Iterable[str]] = ..., is_hotlist: bool = ..., running_trade_batch: _Optional[_Iterable[str]] = ..., liveprice: _Optional[_Iterable[str]] = ..., iepiev: _Optional[_Iterable[str]] = ..., intraday: _Optional[_Iterable[str]] = ..., best_bid_offer: _Optional[_Iterable[str]] = ..., market_mover: _Optional[_Iterable[_Union[MarketMoverWebsocketRequest, _Mapping]]] = ..., order_queue: _Optional[_Iterable[_Union[OrderQueueWebsocketRequest, _Mapping]]] = ..., liveprice_v3: _Optional[_Iterable[str]] = ..., order_book_v3: _Optional[_Iterable[str]] = ..., intraday_v3: _Optional[_Iterable[str]] = ...) -> None: ...
class MarketMoverWebsocketRequest(_message.Message):
__slots__ = ("mover_type", "filter_stocks")
MOVER_TYPE_FIELD_NUMBER: _ClassVar[int]
FILTER_STOCKS_FIELD_NUMBER: _ClassVar[int]
mover_type: MoverType
filter_stocks: _containers.RepeatedScalarFieldContainer[FilterStocksType]
def __init__(self, mover_type: _Optional[_Union[MoverType, str]] = ..., filter_stocks: _Optional[_Iterable[_Union[FilterStocksType, str]]] = ...) -> None: ...
class OrderQueueWebsocketRequest(_message.Message):
__slots__ = ("stock_code", "price", "board_type", "action_type")
STOCK_CODE_FIELD_NUMBER: _ClassVar[int]
PRICE_FIELD_NUMBER: _ClassVar[int]
BOARD_TYPE_FIELD_NUMBER: _ClassVar[int]
ACTION_TYPE_FIELD_NUMBER: _ClassVar[int]
stock_code: str
price: float
board_type: BoardType
action_type: ActionType
def __init__(self, stock_code: _Optional[str] = ..., price: _Optional[float] = ..., board_type: _Optional[_Union[BoardType, str]] = ..., action_type: _Optional[_Union[ActionType, str]] = ...) -> None: ...
class OrderbookFeed(_message.Message):
__slots__ = ("symbol", "orderbook_data", "sequence", "board", "timestamp", "flag", "timestamp_ns")
SYMBOL_FIELD_NUMBER: _ClassVar[int]
ORDERBOOK_DATA_FIELD_NUMBER: _ClassVar[int]
SEQUENCE_FIELD_NUMBER: _ClassVar[int]
BOARD_FIELD_NUMBER: _ClassVar[int]
TIMESTAMP_FIELD_NUMBER: _ClassVar[int]
FLAG_FIELD_NUMBER: _ClassVar[int]
TIMESTAMP_NS_FIELD_NUMBER: _ClassVar[int]
symbol: str
orderbook_data: bytes
sequence: int
board: int
timestamp: str
flag: int
timestamp_ns: str
def __init__(self, symbol: _Optional[str] = ..., orderbook_data: _Optional[bytes] = ..., sequence: _Optional[int] = ..., board: _Optional[int] = ..., timestamp: _Optional[str] = ..., flag: _Optional[int] = ..., timestamp_ns: _Optional[str] = ...) -> None: ...
class WebsocketWrapMessage(_message.Message):
__slots__ = ("running_trade", "liveprice", "orderbook")
RUNNING_TRADE_FIELD_NUMBER: _ClassVar[int]
LIVEPRICE_FIELD_NUMBER: _ClassVar[int]
ORDERBOOK_FIELD_NUMBER: _ClassVar[int]
running_trade: RunningTradeBatch
liveprice: LivePrice
orderbook: OrderbookFeed
def __init__(self, running_trade: _Optional[_Union[RunningTradeBatch, _Mapping]] = ..., liveprice: _Optional[_Union[LivePrice, _Mapping]] = ..., orderbook: _Optional[_Union[OrderbookFeed, _Mapping]] = ...) -> None: ...
class LivePrice(_message.Message):
__slots__ = ("stock_code", "lastprice", "volume", "high", "low", "open", "frequency", "frg_buy", "frg_sell", "average", "date", "close", "prev", "value", "change", "order_verb", "quantity", "is_index", "sequence_number", "order_book_id", "order_number", "match_number", "board", "source", "switch_reset", "itch_incoming_time")
STOCK_CODE_FIELD_NUMBER: _ClassVar[int]
LASTPRICE_FIELD_NUMBER: _ClassVar[int]
VOLUME_FIELD_NUMBER: _ClassVar[int]
HIGH_FIELD_NUMBER: _ClassVar[int]
LOW_FIELD_NUMBER: _ClassVar[int]
OPEN_FIELD_NUMBER: _ClassVar[int]
FREQUENCY_FIELD_NUMBER: _ClassVar[int]
FRG_BUY_FIELD_NUMBER: _ClassVar[int]
FRG_SELL_FIELD_NUMBER: _ClassVar[int]
AVERAGE_FIELD_NUMBER: _ClassVar[int]
DATE_FIELD_NUMBER: _ClassVar[int]
CLOSE_FIELD_NUMBER: _ClassVar[int]
PREV_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
CHANGE_FIELD_NUMBER: _ClassVar[int]
ORDER_VERB_FIELD_NUMBER: _ClassVar[int]
QUANTITY_FIELD_NUMBER: _ClassVar[int]
IS_INDEX_FIELD_NUMBER: _ClassVar[int]
SEQUENCE_NUMBER_FIELD_NUMBER: _ClassVar[int]
ORDER_BOOK_ID_FIELD_NUMBER: _ClassVar[int]
ORDER_NUMBER_FIELD_NUMBER: _ClassVar[int]
MATCH_NUMBER_FIELD_NUMBER: _ClassVar[int]
BOARD_FIELD_NUMBER: _ClassVar[int]
SOURCE_FIELD_NUMBER: _ClassVar[int]
SWITCH_RESET_FIELD_NUMBER: _ClassVar[int]
ITCH_INCOMING_TIME_FIELD_NUMBER: _ClassVar[int]
stock_code: str
lastprice: float
volume: float
high: float
low: float
open: float
frequency: float
frg_buy: float
frg_sell: float
average: float
date: str
close: float
prev: float
value: float
change: Change
order_verb: str
quantity: int
is_index: bool
sequence_number: int
order_book_id: int
order_number: int
match_number: int
board: BoardType
source: Source
switch_reset: SwitchReset
itch_incoming_time: str
def __init__(self, stock_code: _Optional[str] = ..., lastprice: _Optional[float] = ..., volume: _Optional[float] = ..., high: _Optional[float] = ..., low: _Optional[float] = ..., open: _Optional[float] = ..., frequency: _Optional[float] = ..., frg_buy: _Optional[float] = ..., frg_sell: _Optional[float] = ..., average: _Optional[float] = ..., date: _Optional[str] = ..., close: _Optional[float] = ..., prev: _Optional[float] = ..., value: _Optional[float] = ..., change: _Optional[_Union[Change, str]] = ..., order_verb: _Optional[str] = ..., quantity: _Optional[int] = ..., is_index: bool = ..., sequence_number: _Optional[int] = ..., order_book_id: _Optional[int] = ..., order_number: _Optional[int] = ..., match_number: _Optional[int] = ..., board: _Optional[_Union[BoardType, str]] = ..., source: _Optional[_Union[Source, str]] = ..., switch_reset: _Optional[_Union[SwitchReset, str]] = ..., itch_incoming_time: _Optional[str] = ...) -> None: ...
class LivePrice_v3(_message.Message):
__slots__ = ("stock_code", "lastprice", "volume", "high", "low", "open", "frequency", "frg_buy", "frg_sell", "average", "date", "close", "prev", "value", "change", "order_verb", "quantity", "is_index", "sequence_number", "order_book_id", "order_number", "match_number", "board", "source", "switch_reset", "itch_incoming_time", "market_cap")
STOCK_CODE_FIELD_NUMBER: _ClassVar[int]
LASTPRICE_FIELD_NUMBER: _ClassVar[int]
VOLUME_FIELD_NUMBER: _ClassVar[int]
HIGH_FIELD_NUMBER: _ClassVar[int]
LOW_FIELD_NUMBER: _ClassVar[int]
OPEN_FIELD_NUMBER: _ClassVar[int]
FREQUENCY_FIELD_NUMBER: _ClassVar[int]
FRG_BUY_FIELD_NUMBER: _ClassVar[int]
FRG_SELL_FIELD_NUMBER: _ClassVar[int]
AVERAGE_FIELD_NUMBER: _ClassVar[int]
DATE_FIELD_NUMBER: _ClassVar[int]
CLOSE_FIELD_NUMBER: _ClassVar[int]
PREV_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
CHANGE_FIELD_NUMBER: _ClassVar[int]
ORDER_VERB_FIELD_NUMBER: _ClassVar[int]
QUANTITY_FIELD_NUMBER: _ClassVar[int]
IS_INDEX_FIELD_NUMBER: _ClassVar[int]
SEQUENCE_NUMBER_FIELD_NUMBER: _ClassVar[int]
ORDER_BOOK_ID_FIELD_NUMBER: _ClassVar[int]
ORDER_NUMBER_FIELD_NUMBER: _ClassVar[int]
MATCH_NUMBER_FIELD_NUMBER: _ClassVar[int]
BOARD_FIELD_NUMBER: _ClassVar[int]
SOURCE_FIELD_NUMBER: _ClassVar[int]
SWITCH_RESET_FIELD_NUMBER: _ClassVar[int]
ITCH_INCOMING_TIME_FIELD_NUMBER: _ClassVar[int]
MARKET_CAP_FIELD_NUMBER: _ClassVar[int]
stock_code: str
lastprice: DecimalValue
volume: DecimalValue
high: DecimalValue
low: DecimalValue
open: DecimalValue
frequency: DecimalValue
frg_buy: DecimalValue
frg_sell: DecimalValue
average: DecimalValue
date: str
close: DecimalValue
prev: DecimalValue
value: DecimalValue
change: Change
order_verb: str
quantity: DecimalValue
is_index: bool
sequence_number: int
order_book_id: int
order_number: int
match_number: int
board: BoardType
source: Source
switch_reset: SwitchReset
itch_incoming_time: str
market_cap: DecimalValue
def __init__(self, stock_code: _Optional[str] = ..., lastprice: _Optional[_Union[DecimalValue, _Mapping]] = ..., volume: _Optional[_Union[DecimalValue, _Mapping]] = ..., high: _Optional[_Union[DecimalValue, _Mapping]] = ..., low: _Optional[_Union[DecimalValue, _Mapping]] = ..., open: _Optional[_Union[DecimalValue, _Mapping]] = ..., frequency: _Optional[_Union[DecimalValue, _Mapping]] = ..., frg_buy: _Optional[_Union[DecimalValue, _Mapping]] = ..., frg_sell: _Optional[_Union[DecimalValue, _Mapping]] = ..., average: _Optional[_Union[DecimalValue, _Mapping]] = ..., date: _Optional[str] = ..., close: _Optional[_Union[DecimalValue, _Mapping]] = ..., prev: _Optional[_Union[DecimalValue, _Mapping]] = ..., value: _Optional[_Union[DecimalValue, _Mapping]] = ..., change: _Optional[_Union[Change, str]] = ..., order_verb: _Optional[str] = ..., quantity: _Optional[_Union[DecimalValue, _Mapping]] = ..., is_index: bool = ..., sequence_number: _Optional[int] = ..., order_book_id: _Optional[int] = ..., order_number: _Optional[int] = ..., match_number: _Optional[int] = ..., board: _Optional[_Union[BoardType, str]] = ..., source: _Optional[_Union[Source, str]] = ..., switch_reset: _Optional[_Union[SwitchReset, str]] = ..., itch_incoming_time: _Optional[str] = ..., market_cap: _Optional[_Union[DecimalValue, _Mapping]] = ...) -> None: ...
class DecimalValue(_message.Message):
__slots__ = ("units", "nanos")
UNITS_FIELD_NUMBER: _ClassVar[int]
NANOS_FIELD_NUMBER: _ClassVar[int]
units: int
nanos: int
def __init__(self, units: _Optional[int] = ..., nanos: _Optional[int] = ...) -> None: ...
class Orderbook_v3(_message.Message):
__slots__ = ("symbol", "bid", "offer", "total_bid", "total_offer", "timestamp")
SYMBOL_FIELD_NUMBER: _ClassVar[int]
BID_FIELD_NUMBER: _ClassVar[int]
OFFER_FIELD_NUMBER: _ClassVar[int]
TOTAL_BID_FIELD_NUMBER: _ClassVar[int]
TOTAL_OFFER_FIELD_NUMBER: _ClassVar[int]
TIMESTAMP_FIELD_NUMBER: _ClassVar[int]
symbol: str
bid: _containers.RepeatedCompositeFieldContainer[OrderBookData]
offer: _containers.RepeatedCompositeFieldContainer[OrderBookData]
total_bid: OrderBookData
total_offer: OrderBookData
timestamp: Timestamp
def __init__(self, symbol: _Optional[str] = ..., bid: _Optional[_Iterable[_Union[OrderBookData, _Mapping]]] = ..., offer: _Optional[_Iterable[_Union[OrderBookData, _Mapping]]] = ..., total_bid: _Optional[_Union[OrderBookData, _Mapping]] = ..., total_offer: _Optional[_Union[OrderBookData, _Mapping]] = ..., timestamp: _Optional[_Union[Timestamp, _Mapping]] = ...) -> None: ...
class OrderBookData(_message.Message):
__slots__ = ("volume", "price", "frequency")
VOLUME_FIELD_NUMBER: _ClassVar[int]
PRICE_FIELD_NUMBER: _ClassVar[int]
FREQUENCY_FIELD_NUMBER: _ClassVar[int]
volume: DecimalValue
price: DecimalValue
frequency: DecimalValue
def __init__(self, volume: _Optional[_Union[DecimalValue, _Mapping]] = ..., price: _Optional[_Union[DecimalValue, _Mapping]] = ..., frequency: _Optional[_Union[DecimalValue, _Mapping]] = ...) -> None: ...
class RunningTrade(_message.Message):
__slots__ = ("websocket_time", "stock", "price", "volume", "action", "is_global", "time", "change", "trade_number", "market_board", "value")
WEBSOCKET_TIME_FIELD_NUMBER: _ClassVar[int]
STOCK_FIELD_NUMBER: _ClassVar[int]
PRICE_FIELD_NUMBER: _ClassVar[int]
VOLUME_FIELD_NUMBER: _ClassVar[int]
ACTION_FIELD_NUMBER: _ClassVar[int]
IS_GLOBAL_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int]
CHANGE_FIELD_NUMBER: _ClassVar[int]
TRADE_NUMBER_FIELD_NUMBER: _ClassVar[int]
MARKET_BOARD_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
websocket_time: Timestamp
stock: str
price: float
volume: float
action: TradeType
is_global: bool
time: Timestamp
change: Change
trade_number: int
market_board: MarketBoardType
value: float
def __init__(self, websocket_time: _Optional[_Union[Timestamp, _Mapping]] = ..., stock: _Optional[str] = ..., price: _Optional[float] = ..., volume: _Optional[float] = ..., action: _Optional[_Union[TradeType, str]] = ..., is_global: bool = ..., time: _Optional[_Union[Timestamp, _Mapping]] = ..., change: _Optional[_Union[Change, str]] = ..., trade_number: _Optional[int] = ..., market_board: _Optional[_Union[MarketBoardType, str]] = ..., value: _Optional[float] = ...) -> None: ...
class RunningTradeBatch(_message.Message):
__slots__ = ("trades",)
TRADES_FIELD_NUMBER: _ClassVar[int]
trades: _containers.RepeatedCompositeFieldContainer[RunningTrade]
def __init__(self, trades: _Optional[_Iterable[_Union[RunningTrade, _Mapping]]] = ...) -> None: ...
class BestBidOfferWS(_message.Message):
__slots__ = ("stock_code", "sequence_number", "best_bid", "best_offer", "datetime")
STOCK_CODE_FIELD_NUMBER: _ClassVar[int]
SEQUENCE_NUMBER_FIELD_NUMBER: _ClassVar[int]
BEST_BID_FIELD_NUMBER: _ClassVar[int]
BEST_OFFER_FIELD_NUMBER: _ClassVar[int]
DATETIME_FIELD_NUMBER: _ClassVar[int]
stock_code: str
sequence_number: int
best_bid: BestOrder
best_offer: BestOrder
datetime: str
def __init__(self, stock_code: _Optional[str] = ..., sequence_number: _Optional[int] = ..., best_bid: _Optional[_Union[BestOrder, _Mapping]] = ..., best_offer: _Optional[_Union[BestOrder, _Mapping]] = ..., datetime: _Optional[str] = ...) -> None: ...
class BestOrder(_message.Message):
__slots__ = ("price", "quantity", "change_percentage")
PRICE_FIELD_NUMBER: _ClassVar[int]
QUANTITY_FIELD_NUMBER: _ClassVar[int]
CHANGE_PERCENTAGE_FIELD_NUMBER: _ClassVar[int]
price: Value
quantity: Value
change_percentage: str
def __init__(self, price: _Optional[_Union[Value, _Mapping]] = ..., quantity: _Optional[_Union[Value, _Mapping]] = ..., change_percentage: _Optional[str] = ...) -> None: ...
class Value(_message.Message):
__slots__ = ("raw", "formatted")
RAW_FIELD_NUMBER: _ClassVar[int]
FORMATTED_FIELD_NUMBER: _ClassVar[int]
raw: float
formatted: str
def __init__(self, raw: _Optional[float] = ..., formatted: _Optional[str] = ...) -> None: ...
class OrderQueueWebsocket(_message.Message):
__slots__ = ("data",)
DATA_FIELD_NUMBER: _ClassVar[int]
data: _containers.RepeatedCompositeFieldContainer[OrderQueueWebsocketData]
def __init__(self, data: _Optional[_Iterable[_Union[OrderQueueWebsocketData, _Mapping]]] = ...) -> None: ...
class OrderQueueWebsocketData(_message.Message):
__slots__ = ("stock_code", "time", "action_type", "price", "status", "open", "lot", "board_type", "exchange_order_number", "order_number", "open_change_quantity")
STOCK_CODE_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int]
ACTION_TYPE_FIELD_NUMBER: _ClassVar[int]
PRICE_FIELD_NUMBER: _ClassVar[int]
STATUS_FIELD_NUMBER: _ClassVar[int]
OPEN_FIELD_NUMBER: _ClassVar[int]
LOT_FIELD_NUMBER: _ClassVar[int]
BOARD_TYPE_FIELD_NUMBER: _ClassVar[int]
EXCHANGE_ORDER_NUMBER_FIELD_NUMBER: _ClassVar[int]
ORDER_NUMBER_FIELD_NUMBER: _ClassVar[int]
OPEN_CHANGE_QUANTITY_FIELD_NUMBER: _ClassVar[int]
stock_code: str
time: str
action_type: ActionType
price: float
status: OrderStatus
open: float
lot: float
board_type: BoardType
exchange_order_number: ExchangeOrderNumber
order_number: int
open_change_quantity: float
def __init__(self, stock_code: _Optional[str] = ..., time: _Optional[str] = ..., action_type: _Optional[_Union[ActionType, str]] = ..., price: _Optional[float] = ..., status: _Optional[_Union[OrderStatus, str]] = ..., open: _Optional[float] = ..., lot: _Optional[float] = ..., board_type: _Optional[_Union[BoardType, str]] = ..., exchange_order_number: _Optional[_Union[ExchangeOrderNumber, _Mapping]] = ..., order_number: _Optional[int] = ..., open_change_quantity: _Optional[float] = ...) -> None: ...
class ExchangeOrderNumber(_message.Message):
__slots__ = ("number", "board", "original_number")
NUMBER_FIELD_NUMBER: _ClassVar[int]
BOARD_FIELD_NUMBER: _ClassVar[int]
ORIGINAL_NUMBER_FIELD_NUMBER: _ClassVar[int]
number: int
board: int
original_number: int
def __init__(self, number: _Optional[int] = ..., board: _Optional[int] = ..., original_number: _Optional[int] = ...) -> None: ...
class MarketMoverBatch(_message.Message):
__slots__ = ("data",)
DATA_FIELD_NUMBER: _ClassVar[int]
data: _containers.RepeatedCompositeFieldContainer[MarketMoverData]
def __init__(self, data: _Optional[_Iterable[_Union[MarketMoverData, _Mapping]]] = ...) -> None: ...
class MarketMoverData(_message.Message):
__slots__ = ("stock_code", "price", "change", "volume", "value", "frequency")
STOCK_CODE_FIELD_NUMBER: _ClassVar[int]
PRICE_FIELD_NUMBER: _ClassVar[int]
CHANGE_FIELD_NUMBER: _ClassVar[int]
VOLUME_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
FREQUENCY_FIELD_NUMBER: _ClassVar[int]
stock_code: str
price: float
change: float
volume: float
value: float
frequency: float
def __init__(self, stock_code: _Optional[str] = ..., price: _Optional[float] = ..., change: _Optional[float] = ..., volume: _Optional[float] = ..., value: _Optional[float] = ..., frequency: _Optional[float] = ...) -> None: ...
class Watchlist(_message.Message):
__slots__ = ("data",)
DATA_FIELD_NUMBER: _ClassVar[int]
data: _containers.RepeatedCompositeFieldContainer[WatchlistData]
def __init__(self, data: _Optional[_Iterable[_Union[WatchlistData, _Mapping]]] = ...) -> None: ...
class WatchlistData(_message.Message):
__slots__ = ("stock_code", "lastprice", "change", "change_percent", "volume")
STOCK_CODE_FIELD_NUMBER: _ClassVar[int]
LASTPRICE_FIELD_NUMBER: _ClassVar[int]
CHANGE_FIELD_NUMBER: _ClassVar[int]
CHANGE_PERCENT_FIELD_NUMBER: _ClassVar[int]
VOLUME_FIELD_NUMBER: _ClassVar[int]
stock_code: str
lastprice: float
change: float
change_percent: float
volume: float
def __init__(self, stock_code: _Optional[str] = ..., lastprice: _Optional[float] = ..., change: _Optional[float] = ..., change_percent: _Optional[float] = ..., volume: _Optional[float] = ...) -> None: ...
class IEPIEV(_message.Message):
__slots__ = ("stock_code", "iep", "iev", "iep_change", "total_buy_lot", "total_sell_lot")
STOCK_CODE_FIELD_NUMBER: _ClassVar[int]
IEP_FIELD_NUMBER: _ClassVar[int]
IEV_FIELD_NUMBER: _ClassVar[int]
IEP_CHANGE_FIELD_NUMBER: _ClassVar[int]
TOTAL_BUY_LOT_FIELD_NUMBER: _ClassVar[int]
TOTAL_SELL_LOT_FIELD_NUMBER: _ClassVar[int]
stock_code: str
iep: float
iev: float
iep_change: float
total_buy_lot: int
total_sell_lot: int
def __init__(self, stock_code: _Optional[str] = ..., iep: _Optional[float] = ..., iev: _Optional[float] = ..., iep_change: _Optional[float] = ..., total_buy_lot: _Optional[int] = ..., total_sell_lot: _Optional[int] = ...) -> None: ...
class Intraday(_message.Message):
__slots__ = ("stock_code", "price", "volume", "value", "frequency", "timestamp")
STOCK_CODE_FIELD_NUMBER: _ClassVar[int]
PRICE_FIELD_NUMBER: _ClassVar[int]
VOLUME_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
FREQUENCY_FIELD_NUMBER: _ClassVar[int]
TIMESTAMP_FIELD_NUMBER: _ClassVar[int]
stock_code: str
price: float
volume: float
value: float
frequency: float
timestamp: int
def __init__(self, stock_code: _Optional[str] = ..., price: _Optional[float] = ..., volume: _Optional[float] = ..., value: _Optional[float] = ..., frequency: _Optional[float] = ..., timestamp: _Optional[int] = ...) -> None: ...
class Intraday_v3(_message.Message):
__slots__ = ("stock_code", "price", "volume", "value", "frequency", "timestamp")
STOCK_CODE_FIELD_NUMBER: _ClassVar[int]
PRICE_FIELD_NUMBER: _ClassVar[int]
VOLUME_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
FREQUENCY_FIELD_NUMBER: _ClassVar[int]
TIMESTAMP_FIELD_NUMBER: _ClassVar[int]
stock_code: str
price: DecimalValue
volume: DecimalValue
value: DecimalValue
frequency: DecimalValue
timestamp: int
def __init__(self, stock_code: _Optional[str] = ..., price: _Optional[_Union[DecimalValue, _Mapping]] = ..., volume: _Optional[_Union[DecimalValue, _Mapping]] = ..., value: _Optional[_Union[DecimalValue, _Mapping]] = ..., frequency: _Optional[_Union[DecimalValue, _Mapping]] = ..., timestamp: _Optional[int] = ...) -> None: ...
class Orderbook(_message.Message):
__slots__ = ("stock_symbol", "bid", "offer", "time", "open", "high", "low", "previous")
STOCK_SYMBOL_FIELD_NUMBER: _ClassVar[int]
BID_FIELD_NUMBER: _ClassVar[int]
OFFER_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int]
OPEN_FIELD_NUMBER: _ClassVar[int]
HIGH_FIELD_NUMBER: _ClassVar[int]
LOW_FIELD_NUMBER: _ClassVar[int]
PREVIOUS_FIELD_NUMBER: _ClassVar[int]
stock_symbol: str
bid: _containers.RepeatedCompositeFieldContainer[OrderbookLevel]
offer: _containers.RepeatedCompositeFieldContainer[OrderbookLevel]
time: Timestamp
open: float
high: float
low: float
previous: float
def __init__(self, stock_symbol: _Optional[str] = ..., bid: _Optional[_Iterable[_Union[OrderbookLevel, _Mapping]]] = ..., offer: _Optional[_Iterable[_Union[OrderbookLevel, _Mapping]]] = ..., time: _Optional[_Union[Timestamp, _Mapping]] = ..., open: _Optional[float] = ..., high: _Optional[float] = ..., low: _Optional[float] = ..., previous: _Optional[float] = ...) -> None: ...
class OrderbookLevel(_message.Message):
__slots__ = ("price", "lot", "volume")
PRICE_FIELD_NUMBER: _ClassVar[int]
LOT_FIELD_NUMBER: _ClassVar[int]
VOLUME_FIELD_NUMBER: _ClassVar[int]
price: float
lot: float
volume: float
def __init__(self, price: _Optional[float] = ..., lot: _Optional[float] = ..., volume: _Optional[float] = ...) -> None: ...
class OrderBookHeader(_message.Message):
__slots__ = ("stock_symbol", "open", "high", "low", "previous", "time")
STOCK_SYMBOL_FIELD_NUMBER: _ClassVar[int]
OPEN_FIELD_NUMBER: _ClassVar[int]
HIGH_FIELD_NUMBER: _ClassVar[int]
LOW_FIELD_NUMBER: _ClassVar[int]
PREVIOUS_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int]
stock_symbol: str
open: float
high: float
low: float
previous: float
time: Timestamp
def __init__(self, stock_symbol: _Optional[str] = ..., open: _Optional[float] = ..., high: _Optional[float] = ..., low: _Optional[float] = ..., previous: _Optional[float] = ..., time: _Optional[_Union[Timestamp, _Mapping]] = ...) -> None: ...
class Top20(_message.Message):
__slots__ = ("gainers", "losers", "active")
GAINERS_FIELD_NUMBER: _ClassVar[int]
LOSERS_FIELD_NUMBER: _ClassVar[int]
ACTIVE_FIELD_NUMBER: _ClassVar[int]
gainers: _containers.RepeatedCompositeFieldContainer[Top20Data]
losers: _containers.RepeatedCompositeFieldContainer[Top20Data]
active: _containers.RepeatedCompositeFieldContainer[Top20Data]
def __init__(self, gainers: _Optional[_Iterable[_Union[Top20Data, _Mapping]]] = ..., losers: _Optional[_Iterable[_Union[Top20Data, _Mapping]]] = ..., active: _Optional[_Iterable[_Union[Top20Data, _Mapping]]] = ...) -> None: ...
class Top20Data(_message.Message):
__slots__ = ("stock_code", "price", "change", "change_percent", "volume", "value")
STOCK_CODE_FIELD_NUMBER: _ClassVar[int]
PRICE_FIELD_NUMBER: _ClassVar[int]
CHANGE_FIELD_NUMBER: _ClassVar[int]
CHANGE_PERCENT_FIELD_NUMBER: _ClassVar[int]
VOLUME_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
stock_code: str
price: float
change: float
change_percent: float
volume: float
value: float
def __init__(self, stock_code: _Optional[str] = ..., price: _Optional[float] = ..., change: _Optional[float] = ..., change_percent: _Optional[float] = ..., volume: _Optional[float] = ..., value: _Optional[float] = ...) -> None: ...
class OrderBookBody(_message.Message):
__slots__ = ("stock_symbol", "bid", "offer", "time")
STOCK_SYMBOL_FIELD_NUMBER: _ClassVar[int]
BID_FIELD_NUMBER: _ClassVar[int]
OFFER_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int]
stock_symbol: str
bid: _containers.RepeatedCompositeFieldContainer[Bid]
offer: _containers.RepeatedCompositeFieldContainer[Offer]
time: Timestamp
def __init__(self, stock_symbol: _Optional[str] = ..., bid: _Optional[_Iterable[_Union[Bid, _Mapping]]] = ..., offer: _Optional[_Iterable[_Union[Offer, _Mapping]]] = ..., time: _Optional[_Union[Timestamp, _Mapping]] = ...) -> None: ...
class Bid(_message.Message):
__slots__ = ("price", "lot")
PRICE_FIELD_NUMBER: _ClassVar[int]
LOT_FIELD_NUMBER: _ClassVar[int]
price: float
lot: float
def __init__(self, price: _Optional[float] = ..., lot: _Optional[float] = ...) -> None: ...
class Offer(_message.Message):
__slots__ = ("price", "lot")
PRICE_FIELD_NUMBER: _ClassVar[int]
LOT_FIELD_NUMBER: _ClassVar[int]
price: float
lot: float
def __init__(self, price: _Optional[float] = ..., lot: _Optional[float] = ...) -> None: ...
class Timestamp(_message.Message):
__slots__ = ("seconds", "nanos")
SECONDS_FIELD_NUMBER: _ClassVar[int]
NANOS_FIELD_NUMBER: _ClassVar[int]
seconds: int
nanos: int
def __init__(self, seconds: _Optional[int] = ..., nanos: _Optional[int] = ...) -> None: ...
class PingResponse(_message.Message):
__slots__ = ("timestamp", "message")
TIMESTAMP_FIELD_NUMBER: _ClassVar[int]
MESSAGE_FIELD_NUMBER: _ClassVar[int]
timestamp: int
message: str
def __init__(self, timestamp: _Optional[int] = ..., message: _Optional[str] = ...) -> None: ...
class Error(_message.Message):
__slots__ = ("message", "code")
MESSAGE_FIELD_NUMBER: _ClassVar[int]
CODE_FIELD_NUMBER: _ClassVar[int]
message: str
code: int
def __init__(self, message: _Optional[str] = ..., code: _Optional[int] = ...) -> None: ...