3733 lines
152 KiB
Python
3733 lines
152 KiB
Python
# pylint:disable=too-many-lines
|
|
# pylint:disable=too-many-instance-attributes
|
|
from dataclasses import dataclass
|
|
from datetime import datetime
|
|
from typing import List, Optional, SupportsAbs
|
|
|
|
from . import _grpc_helpers
|
|
|
|
|
|
class SecurityTradingStatus(_grpc_helpers.Enum):
|
|
SECURITY_TRADING_STATUS_UNSPECIFIED = 0
|
|
SECURITY_TRADING_STATUS_NOT_AVAILABLE_FOR_TRADING = 1
|
|
SECURITY_TRADING_STATUS_OPENING_PERIOD = 2
|
|
SECURITY_TRADING_STATUS_CLOSING_PERIOD = 3
|
|
SECURITY_TRADING_STATUS_BREAK_IN_TRADING = 4
|
|
SECURITY_TRADING_STATUS_NORMAL_TRADING = 5
|
|
SECURITY_TRADING_STATUS_CLOSING_AUCTION = 6
|
|
SECURITY_TRADING_STATUS_DARK_POOL_AUCTION = 7
|
|
SECURITY_TRADING_STATUS_DISCRETE_AUCTION = 8
|
|
SECURITY_TRADING_STATUS_OPENING_AUCTION_PERIOD = 9
|
|
SECURITY_TRADING_STATUS_TRADING_AT_CLOSING_AUCTION_PRICE = 10
|
|
SECURITY_TRADING_STATUS_SESSION_ASSIGNED = 11
|
|
SECURITY_TRADING_STATUS_SESSION_CLOSE = 12
|
|
SECURITY_TRADING_STATUS_SESSION_OPEN = 13
|
|
SECURITY_TRADING_STATUS_DEALER_NORMAL_TRADING = 14
|
|
SECURITY_TRADING_STATUS_DEALER_BREAK_IN_TRADING = 15
|
|
SECURITY_TRADING_STATUS_DEALER_NOT_AVAILABLE_FOR_TRADING = 16
|
|
SECURITY_TRADING_STATUS_STABILIZATION_AUCTION = 17
|
|
|
|
|
|
class InstrumentIdType(_grpc_helpers.Enum):
|
|
INSTRUMENT_ID_UNSPECIFIED = 0
|
|
INSTRUMENT_ID_TYPE_FIGI = 1
|
|
INSTRUMENT_ID_TYPE_TICKER = 2
|
|
INSTRUMENT_ID_TYPE_UID = 3
|
|
INSTRUMENT_ID_TYPE_POSITION_UID = 4
|
|
INSTRUMENT_ID_TYPE_ID = 5
|
|
|
|
|
|
class InstrumentStatus(_grpc_helpers.Enum):
|
|
INSTRUMENT_STATUS_UNSPECIFIED = 0
|
|
INSTRUMENT_STATUS_BASE = 1
|
|
INSTRUMENT_STATUS_ALL = 2
|
|
|
|
|
|
class ShareType(_grpc_helpers.Enum):
|
|
SHARE_TYPE_UNSPECIFIED = 0
|
|
SHARE_TYPE_COMMON = 1
|
|
SHARE_TYPE_PREFERRED = 2
|
|
SHARE_TYPE_ADR = 3
|
|
SHARE_TYPE_GDR = 4
|
|
SHARE_TYPE_MLP = 5
|
|
SHARE_TYPE_NY_REG_SHRS = 6
|
|
SHARE_TYPE_CLOSED_END_FUND = 7
|
|
SHARE_TYPE_REIT = 8
|
|
|
|
|
|
class SubscriptionAction(_grpc_helpers.Enum):
|
|
SUBSCRIPTION_ACTION_UNSPECIFIED = 0
|
|
SUBSCRIPTION_ACTION_SUBSCRIBE = 1
|
|
SUBSCRIPTION_ACTION_UNSUBSCRIBE = 2
|
|
|
|
|
|
class SubscriptionInterval(_grpc_helpers.Enum):
|
|
SUBSCRIPTION_INTERVAL_UNSPECIFIED = 0
|
|
SUBSCRIPTION_INTERVAL_ONE_MINUTE = 1
|
|
SUBSCRIPTION_INTERVAL_FIVE_MINUTES = 2
|
|
SUBSCRIPTION_INTERVAL_FIFTEEN_MINUTES = 3
|
|
SUBSCRIPTION_INTERVAL_ONE_HOUR = 4
|
|
SUBSCRIPTION_INTERVAL_ONE_DAY = 5
|
|
SUBSCRIPTION_INTERVAL_2_MIN = 6
|
|
SUBSCRIPTION_INTERVAL_3_MIN = 7
|
|
SUBSCRIPTION_INTERVAL_10_MIN = 8
|
|
SUBSCRIPTION_INTERVAL_30_MIN = 9
|
|
SUBSCRIPTION_INTERVAL_2_HOUR = 10
|
|
SUBSCRIPTION_INTERVAL_4_HOUR = 11
|
|
SUBSCRIPTION_INTERVAL_WEEK = 12
|
|
SUBSCRIPTION_INTERVAL_MONTH = 13
|
|
|
|
|
|
class SubscriptionStatus(_grpc_helpers.Enum):
|
|
SUBSCRIPTION_STATUS_UNSPECIFIED = 0
|
|
SUBSCRIPTION_STATUS_SUCCESS = 1
|
|
SUBSCRIPTION_STATUS_INSTRUMENT_NOT_FOUND = 2
|
|
SUBSCRIPTION_STATUS_SUBSCRIPTION_ACTION_IS_INVALID = 3
|
|
SUBSCRIPTION_STATUS_DEPTH_IS_INVALID = 4
|
|
SUBSCRIPTION_STATUS_INTERVAL_IS_INVALID = 5
|
|
SUBSCRIPTION_STATUS_LIMIT_IS_EXCEEDED = 6
|
|
SUBSCRIPTION_STATUS_INTERNAL_ERROR = 7
|
|
SUBSCRIPTION_STATUS_TOO_MANY_REQUESTS = 8
|
|
SUBSCRIPTION_STATUS_SUBSCRIPTION_NOT_FOUND = 9
|
|
SUBSCRIPTION_STATUS_SOURCE_IS_INVALID = 10
|
|
|
|
|
|
class TradeDirection(_grpc_helpers.Enum):
|
|
TRADE_DIRECTION_UNSPECIFIED = 0
|
|
TRADE_DIRECTION_BUY = 1
|
|
TRADE_DIRECTION_SELL = 2
|
|
|
|
|
|
class CandleInterval(_grpc_helpers.Enum):
|
|
CANDLE_INTERVAL_UNSPECIFIED = 0
|
|
CANDLE_INTERVAL_5_SEC = 14
|
|
CANDLE_INTERVAL_10_SEC = 15
|
|
CANDLE_INTERVAL_30_SEC = 16
|
|
CANDLE_INTERVAL_1_MIN = 1
|
|
CANDLE_INTERVAL_2_MIN = 6
|
|
CANDLE_INTERVAL_3_MIN = 7
|
|
CANDLE_INTERVAL_5_MIN = 2
|
|
CANDLE_INTERVAL_10_MIN = 8
|
|
CANDLE_INTERVAL_15_MIN = 3
|
|
CANDLE_INTERVAL_30_MIN = 9
|
|
CANDLE_INTERVAL_HOUR = 4
|
|
CANDLE_INTERVAL_2_HOUR = 10
|
|
CANDLE_INTERVAL_4_HOUR = 11
|
|
CANDLE_INTERVAL_DAY = 5
|
|
CANDLE_INTERVAL_WEEK = 12
|
|
CANDLE_INTERVAL_MONTH = 13
|
|
|
|
|
|
class CandleSource(_grpc_helpers.Enum):
|
|
CANDLE_SOURCE_UNSPECIFIED = 0
|
|
CANDLE_SOURCE_EXCHANGE = 1
|
|
CANDLE_SOURCE_DEALER_WEEKEND = 2
|
|
CANDLE_SOURCE_INCLUDE_WEEKEND = 3
|
|
|
|
|
|
class OperationState(_grpc_helpers.Enum):
|
|
OPERATION_STATE_UNSPECIFIED = 0
|
|
OPERATION_STATE_EXECUTED = 1
|
|
OPERATION_STATE_CANCELED = 2
|
|
OPERATION_STATE_PROGRESS = 3
|
|
|
|
|
|
class OrderDirection(_grpc_helpers.Enum):
|
|
ORDER_DIRECTION_UNSPECIFIED = 0
|
|
ORDER_DIRECTION_BUY = 1
|
|
ORDER_DIRECTION_SELL = 2
|
|
|
|
|
|
class OrderType(_grpc_helpers.Enum):
|
|
ORDER_TYPE_UNSPECIFIED = 0
|
|
ORDER_TYPE_LIMIT = 1
|
|
ORDER_TYPE_MARKET = 2
|
|
ORDER_TYPE_BESTPRICE = 3
|
|
|
|
|
|
class OrderExecutionReportStatus(_grpc_helpers.Enum):
|
|
EXECUTION_REPORT_STATUS_UNSPECIFIED = 0
|
|
EXECUTION_REPORT_STATUS_FILL = 1
|
|
EXECUTION_REPORT_STATUS_REJECTED = 2
|
|
EXECUTION_REPORT_STATUS_CANCELLED = 3
|
|
EXECUTION_REPORT_STATUS_NEW = 4
|
|
EXECUTION_REPORT_STATUS_PARTIALLYFILL = 5
|
|
|
|
|
|
class AccountType(_grpc_helpers.Enum):
|
|
ACCOUNT_TYPE_UNSPECIFIED = 0
|
|
ACCOUNT_TYPE_TINKOFF = 1
|
|
ACCOUNT_TYPE_TINKOFF_IIS = 2
|
|
ACCOUNT_TYPE_INVEST_BOX = 3
|
|
ACCOUNT_TYPE_INVEST_FUND = 4
|
|
ACCOUNT_TYPE_DEBIT = 5
|
|
ACCOUNT_TYPE_SAVING = 6
|
|
ACCOUNT_TYPE_DFA = 7
|
|
|
|
|
|
class AccountStatus(_grpc_helpers.Enum):
|
|
ACCOUNT_STATUS_UNSPECIFIED = 0
|
|
ACCOUNT_STATUS_NEW = 1
|
|
ACCOUNT_STATUS_OPEN = 2
|
|
ACCOUNT_STATUS_CLOSED = 3
|
|
|
|
|
|
class StopOrderDirection(_grpc_helpers.Enum):
|
|
STOP_ORDER_DIRECTION_UNSPECIFIED = 0
|
|
STOP_ORDER_DIRECTION_BUY = 1
|
|
STOP_ORDER_DIRECTION_SELL = 2
|
|
|
|
|
|
class StopOrderExpirationType(_grpc_helpers.Enum):
|
|
STOP_ORDER_EXPIRATION_TYPE_UNSPECIFIED = 0
|
|
STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_CANCEL = 1
|
|
STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_DATE = 2
|
|
|
|
|
|
class StopOrderType(_grpc_helpers.Enum):
|
|
STOP_ORDER_TYPE_UNSPECIFIED = 0
|
|
STOP_ORDER_TYPE_TAKE_PROFIT = 1
|
|
STOP_ORDER_TYPE_STOP_LOSS = 2
|
|
STOP_ORDER_TYPE_STOP_LIMIT = 3
|
|
|
|
|
|
class OperationType(_grpc_helpers.Enum):
|
|
OPERATION_TYPE_UNSPECIFIED = 0
|
|
OPERATION_TYPE_INPUT = 1
|
|
OPERATION_TYPE_BOND_TAX = 2
|
|
OPERATION_TYPE_OUTPUT_SECURITIES = 3
|
|
OPERATION_TYPE_OVERNIGHT = 4
|
|
OPERATION_TYPE_TAX = 5
|
|
OPERATION_TYPE_BOND_REPAYMENT_FULL = 6
|
|
OPERATION_TYPE_SELL_CARD = 7
|
|
OPERATION_TYPE_DIVIDEND_TAX = 8
|
|
OPERATION_TYPE_OUTPUT = 9
|
|
OPERATION_TYPE_BOND_REPAYMENT = 10
|
|
OPERATION_TYPE_TAX_CORRECTION = 11
|
|
OPERATION_TYPE_SERVICE_FEE = 12
|
|
OPERATION_TYPE_BENEFIT_TAX = 13
|
|
OPERATION_TYPE_MARGIN_FEE = 14
|
|
OPERATION_TYPE_BUY = 15
|
|
OPERATION_TYPE_BUY_CARD = 16
|
|
OPERATION_TYPE_INPUT_SECURITIES = 17
|
|
OPERATION_TYPE_SELL_MARGIN = 18
|
|
OPERATION_TYPE_BROKER_FEE = 19
|
|
OPERATION_TYPE_BUY_MARGIN = 20
|
|
OPERATION_TYPE_DIVIDEND = 21
|
|
OPERATION_TYPE_SELL = 22
|
|
OPERATION_TYPE_COUPON = 23
|
|
OPERATION_TYPE_SUCCESS_FEE = 24
|
|
OPERATION_TYPE_DIVIDEND_TRANSFER = 25
|
|
OPERATION_TYPE_ACCRUING_VARMARGIN = 26
|
|
OPERATION_TYPE_WRITING_OFF_VARMARGIN = 27
|
|
OPERATION_TYPE_DELIVERY_BUY = 28
|
|
OPERATION_TYPE_DELIVERY_SELL = 29
|
|
OPERATION_TYPE_TRACK_MFEE = 30
|
|
OPERATION_TYPE_TRACK_PFEE = 31
|
|
OPERATION_TYPE_TAX_PROGRESSIVE = 32
|
|
OPERATION_TYPE_BOND_TAX_PROGRESSIVE = 33
|
|
OPERATION_TYPE_DIVIDEND_TAX_PROGRESSIVE = 34
|
|
OPERATION_TYPE_BENEFIT_TAX_PROGRESSIVE = 35
|
|
OPERATION_TYPE_TAX_CORRECTION_PROGRESSIVE = 36
|
|
OPERATION_TYPE_TAX_REPO_PROGRESSIVE = 37
|
|
OPERATION_TYPE_TAX_REPO = 38
|
|
OPERATION_TYPE_TAX_REPO_HOLD = 39
|
|
OPERATION_TYPE_TAX_REPO_REFUND = 40
|
|
OPERATION_TYPE_TAX_REPO_HOLD_PROGRESSIVE = 41
|
|
OPERATION_TYPE_TAX_REPO_REFUND_PROGRESSIVE = 42
|
|
OPERATION_TYPE_DIV_EXT = 43
|
|
OPERATION_TYPE_TAX_CORRECTION_COUPON = 44
|
|
OPERATION_TYPE_CASH_FEE = 45
|
|
OPERATION_TYPE_OUT_FEE = 46
|
|
OPERATION_TYPE_OUT_STAMP_DUTY = 47
|
|
OPERATION_TYPE_OUTPUT_SWIFT = 50
|
|
OPERATION_TYPE_INPUT_SWIFT = 51
|
|
OPERATION_TYPE_OUTPUT_ACQUIRING = 53
|
|
OPERATION_TYPE_INPUT_ACQUIRING = 54
|
|
OPERATION_TYPE_OUTPUT_PENALTY = 55
|
|
OPERATION_TYPE_ADVICE_FEE = 56
|
|
OPERATION_TYPE_TRANS_IIS_BS = 57
|
|
OPERATION_TYPE_TRANS_BS_BS = 58
|
|
OPERATION_TYPE_OUT_MULTI = 59
|
|
OPERATION_TYPE_INP_MULTI = 60
|
|
OPERATION_TYPE_OVER_PLACEMENT = 61
|
|
OPERATION_TYPE_OVER_COM = 62
|
|
OPERATION_TYPE_OVER_INCOME = 63
|
|
OPERATION_TYPE_OPTION_EXPIRATION = 64
|
|
OPERATION_TYPE_FUTURE_EXPIRATION = 65
|
|
OPERATION_TYPE_OTHER_FEE = 66
|
|
OPERATION_TYPE_OTHER = 67
|
|
OPERATION_TYPE_DFA_REDEMPTION = 68
|
|
OPERATION_TYPE_PRIMARY_ORDER = 69
|
|
|
|
|
|
class AccessLevel(_grpc_helpers.Enum):
|
|
ACCOUNT_ACCESS_LEVEL_UNSPECIFIED = 0
|
|
ACCOUNT_ACCESS_LEVEL_FULL_ACCESS = 1
|
|
ACCOUNT_ACCESS_LEVEL_READ_ONLY = 2
|
|
ACCOUNT_ACCESS_LEVEL_NO_ACCESS = 3
|
|
|
|
|
|
class CouponType(_grpc_helpers.Enum):
|
|
COUPON_TYPE_UNSPECIFIED = 0
|
|
COUPON_TYPE_CONSTANT = 1
|
|
COUPON_TYPE_FLOATING = 2
|
|
COUPON_TYPE_DISCOUNT = 3
|
|
COUPON_TYPE_MORTGAGE = 4
|
|
COUPON_TYPE_FIX = 5
|
|
COUPON_TYPE_VARIABLE = 6
|
|
COUPON_TYPE_OTHER = 7
|
|
|
|
|
|
class AssetType(_grpc_helpers.Enum):
|
|
ASSET_TYPE_UNSPECIFIED = 0
|
|
ASSET_TYPE_CURRENCY = 1
|
|
ASSET_TYPE_COMMODITY = 2
|
|
ASSET_TYPE_INDEX = 3
|
|
ASSET_TYPE_SECURITY = 4
|
|
|
|
|
|
class StructuredProductType(_grpc_helpers.Enum):
|
|
SP_TYPE_UNSPECIFIED = 0
|
|
SP_TYPE_DELIVERABLE = 1
|
|
SP_TYPE_NON_DELIVERABLE = 2
|
|
|
|
|
|
class EditFavoritesActionType(_grpc_helpers.Enum):
|
|
EDIT_FAVORITES_ACTION_TYPE_UNSPECIFIED = 0
|
|
EDIT_FAVORITES_ACTION_TYPE_ADD = 1
|
|
EDIT_FAVORITES_ACTION_TYPE_DEL = 2
|
|
|
|
|
|
class RealExchange(_grpc_helpers.Enum):
|
|
REAL_EXCHANGE_UNSPECIFIED = 0
|
|
REAL_EXCHANGE_MOEX = 1
|
|
REAL_EXCHANGE_RTS = 2
|
|
REAL_EXCHANGE_OTC = 3
|
|
REAL_EXCHANGE_DEALER = 4
|
|
|
|
|
|
class PortfolioSubscriptionStatus(_grpc_helpers.Enum):
|
|
PORTFOLIO_SUBSCRIPTION_STATUS_UNSPECIFIED = 0
|
|
PORTFOLIO_SUBSCRIPTION_STATUS_SUCCESS = 1
|
|
PORTFOLIO_SUBSCRIPTION_STATUS_ACCOUNT_NOT_FOUND = 2
|
|
PORTFOLIO_SUBSCRIPTION_STATUS_INTERNAL_ERROR = 3
|
|
|
|
|
|
class InstrumentType(_grpc_helpers.Enum):
|
|
INSTRUMENT_TYPE_UNSPECIFIED = 0
|
|
INSTRUMENT_TYPE_BOND = 1
|
|
INSTRUMENT_TYPE_SHARE = 2
|
|
INSTRUMENT_TYPE_CURRENCY = 3
|
|
INSTRUMENT_TYPE_ETF = 4
|
|
INSTRUMENT_TYPE_FUTURES = 5
|
|
INSTRUMENT_TYPE_SP = 6
|
|
INSTRUMENT_TYPE_OPTION = 7
|
|
INSTRUMENT_TYPE_CLEARING_CERTIFICATE = 8
|
|
INSTRUMENT_TYPE_INDEX = 9
|
|
INSTRUMENT_TYPE_COMMODITY = 10
|
|
INSTRUMENT_TYPE_DFA = 11
|
|
|
|
|
|
class OptionDirection(_grpc_helpers.Enum):
|
|
OPTION_DIRECTION_UNSPECIFIED = 0
|
|
OPTION_DIRECTION_PUT = 1
|
|
OPTION_DIRECTION_CALL = 2
|
|
|
|
|
|
class OptionPaymentType(_grpc_helpers.Enum):
|
|
OPTION_PAYMENT_TYPE_UNSPECIFIED = 0
|
|
OPTION_PAYMENT_TYPE_PREMIUM = 1
|
|
OPTION_PAYMENT_TYPE_MARGINAL = 2
|
|
|
|
|
|
class OptionStyle(_grpc_helpers.Enum):
|
|
OPTION_STYLE_UNSPECIFIED = 0
|
|
OPTION_STYLE_AMERICAN = 1
|
|
OPTION_STYLE_EUROPEAN = 2
|
|
|
|
|
|
class OptionSettlementType(_grpc_helpers.Enum):
|
|
OPTION_EXECUTION_TYPE_UNSPECIFIED = 0
|
|
OPTION_EXECUTION_TYPE_PHYSICAL_DELIVERY = 1
|
|
OPTION_EXECUTION_TYPE_CASH_SETTLEMENT = 2
|
|
|
|
|
|
class PositionsAccountSubscriptionStatus(_grpc_helpers.Enum):
|
|
POSITIONS_SUBSCRIPTION_STATUS_UNSPECIFIED = 0
|
|
POSITIONS_SUBSCRIPTION_STATUS_SUCCESS = 1
|
|
POSITIONS_SUBSCRIPTION_STATUS_ACCOUNT_NOT_FOUND = 2
|
|
POSITIONS_SUBSCRIPTION_STATUS_INTERNAL_ERROR = 3
|
|
|
|
|
|
class RiskLevel(_grpc_helpers.Enum):
|
|
RISK_LEVEL_UNSPECIFIED = 0
|
|
RISK_LEVEL_LOW = 1
|
|
RISK_LEVEL_MODERATE = 2
|
|
RISK_LEVEL_HIGH = 3
|
|
|
|
|
|
class StopOrderStatusOption(_grpc_helpers.Enum):
|
|
STOP_ORDER_STATUS_UNSPECIFIED = 0
|
|
STOP_ORDER_STATUS_ALL = 1
|
|
STOP_ORDER_STATUS_ACTIVE = 2
|
|
STOP_ORDER_STATUS_EXECUTED = 3
|
|
STOP_ORDER_STATUS_CANCELED = 4
|
|
STOP_ORDER_STATUS_EXPIRED = 5
|
|
|
|
|
|
class ExchangeOrderType(_grpc_helpers.Enum):
|
|
EXCHANGE_ORDER_TYPE_UNSPECIFIED = 0
|
|
EXCHANGE_ORDER_TYPE_MARKET = 1
|
|
EXCHANGE_ORDER_TYPE_LIMIT = 2
|
|
|
|
|
|
class TakeProfitType(_grpc_helpers.Enum):
|
|
TAKE_PROFIT_TYPE_UNSPECIFIED = 0
|
|
TAKE_PROFIT_TYPE_REGULAR = 1
|
|
TAKE_PROFIT_TYPE_TRAILING = 2
|
|
|
|
|
|
class TrailingValueType(_grpc_helpers.Enum):
|
|
TRAILING_VALUE_UNSPECIFIED = 0
|
|
TRAILING_VALUE_ABSOLUTE = 1
|
|
TRAILING_VALUE_RELATIVE = 2
|
|
|
|
|
|
class TrailingStopStatus(_grpc_helpers.Enum):
|
|
TRAILING_STOP_UNSPECIFIED = 0
|
|
TRAILING_STOP_ACTIVE = 1
|
|
TRAILING_STOP_ACTIVATED = 2
|
|
|
|
|
|
class PriceType(_grpc_helpers.Enum):
|
|
PRICE_TYPE_UNSPECIFIED = 0
|
|
PRICE_TYPE_POINT = 1
|
|
PRICE_TYPE_CURRENCY = 2
|
|
|
|
|
|
class TimeInForceType(_grpc_helpers.Enum):
|
|
TIME_IN_FORCE_UNSPECIFIED = 0
|
|
TIME_IN_FORCE_DAY = 1
|
|
TIME_IN_FORCE_FILL_AND_KILL = 2
|
|
TIME_IN_FORCE_FILL_OR_KILL = 3
|
|
|
|
|
|
class OrderIdType(_grpc_helpers.Enum):
|
|
ORDER_ID_TYPE_UNSPECIFIED = 0
|
|
ORDER_ID_TYPE_EXCHANGE = 1
|
|
ORDER_ID_TYPE_REQUEST = 2
|
|
|
|
|
|
class EventType(_grpc_helpers.Enum):
|
|
EVENT_TYPE_UNSPECIFIED = 0
|
|
EVENT_TYPE_CPN = 1
|
|
EVENT_TYPE_CALL = 2
|
|
EVENT_TYPE_MTY = 3
|
|
EVENT_TYPE_CONV = 4
|
|
|
|
|
|
class AssetReportPeriodType(_grpc_helpers.Enum):
|
|
PERIOD_TYPE_UNSPECIFIED = 0
|
|
PERIOD_TYPE_QUARTER = 1
|
|
PERIOD_TYPE_SEMIANNUAL = 2
|
|
PERIOD_TYPE_ANNUAL = 3
|
|
|
|
|
|
class Recommendation(_grpc_helpers.Enum):
|
|
RECOMMENDATION_UNSPECIFIED = 0
|
|
RECOMMENDATION_BUY = 1
|
|
RECOMMENDATION_HOLD = 2
|
|
RECOMMENDATION_SELL = 3
|
|
|
|
|
|
class OrderBookType(_grpc_helpers.Enum):
|
|
ORDERBOOK_TYPE_UNSPECIFIED = 0
|
|
ORDERBOOK_TYPE_EXCHANGE = 1
|
|
ORDERBOOK_TYPE_DEALER = 2
|
|
ORDERBOOK_TYPE_ALL = 3
|
|
|
|
|
|
class BondType(_grpc_helpers.Enum):
|
|
BOND_TYPE_UNSPECIFIED = 0
|
|
BOND_TYPE_REPLACED = 1
|
|
|
|
|
|
class InstrumentExchangeType(_grpc_helpers.Enum):
|
|
INSTRUMENT_EXCHANGE_UNSPECIFIED = 0
|
|
INSTRUMENT_EXCHANGE_DEALER = 1
|
|
|
|
|
|
class TradeSourceType(_grpc_helpers.Enum):
|
|
TRADE_SOURCE_UNSPECIFIED = 0
|
|
TRADE_SOURCE_EXCHANGE = 1
|
|
TRADE_SOURCE_DEALER = 2
|
|
TRADE_SOURCE_ALL = 3
|
|
|
|
|
|
class ResultSubscriptionStatus(_grpc_helpers.Enum):
|
|
RESULT_SUBSCRIPTION_STATUS_UNSPECIFIED = 0
|
|
RESULT_SUBSCRIPTION_STATUS_OK = 1
|
|
RESULT_SUBSCRIPTION_STATUS_ERROR = 13
|
|
|
|
|
|
class MarkerType(_grpc_helpers.Enum):
|
|
MARKER_UNKNOWN = 0
|
|
MARKER_BROKER = 1
|
|
MARKER_CHAT = 2
|
|
MARKER_PAPER = 3
|
|
MARKER_MARGIN = 4
|
|
MARKER_TKBNM = 5
|
|
MARKER_SHORT = 6
|
|
MARKER_SPECMM = 7
|
|
MARKER_PO = 8
|
|
|
|
|
|
class StatusCauseInfo(_grpc_helpers.Enum):
|
|
CAUSE_UNSPECIFIED = 0
|
|
CAUSE_CANCELLED_BY_CLIENT = 15
|
|
CAUSE_CANCELLED_BY_EXCHANGE = 1
|
|
CAUSE_CANCELLED_NOT_ENOUGH_POSITION = 2
|
|
CAUSE_CANCELLED_BY_CLIENT_BLOCK = 3
|
|
CAUSE_REJECTED_BY_BROKER = 4
|
|
CAUSE_REJECTED_BY_EXCHANGE = 5
|
|
CAUSE_CANCELLED_BY_BROKER = 6
|
|
|
|
|
|
class LastPriceType(_grpc_helpers.Enum):
|
|
LAST_PRICE_UNSPECIFIED = 0
|
|
LAST_PRICE_EXCHANGE = 1
|
|
LAST_PRICE_DEALER = 2
|
|
|
|
|
|
class StrategyType(_grpc_helpers.Enum):
|
|
STRATEGY_TYPE_UNSPECIFIED = 0
|
|
STRATEGY_TYPE_TECHNICAL = 1
|
|
STRATEGY_TYPE_FUNDAMENTAL = 2
|
|
|
|
|
|
class SignalDirection(_grpc_helpers.Enum):
|
|
SIGNAL_DIRECTION_UNSPECIFIED = 0
|
|
SIGNAL_DIRECTION_BUY = 1
|
|
SIGNAL_DIRECTION_SELL = 2
|
|
|
|
|
|
class SignalState(_grpc_helpers.Enum):
|
|
SIGNAL_STATE_UNSPECIFIED = 0
|
|
SIGNAL_STATE_ACTIVE = 1
|
|
SIGNAL_STATE_CLOSED = 2
|
|
SIGNAL_STATE_ALL = 3
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class MoneyValue(_grpc_helpers.Message):
|
|
currency: str = _grpc_helpers.string_field(1)
|
|
units: int = _grpc_helpers.int64_field(2)
|
|
nano: int = _grpc_helpers.int32_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Quotation(_grpc_helpers.Message, SupportsAbs):
|
|
units: int = _grpc_helpers.int64_field(1)
|
|
nano: int = _grpc_helpers.int32_field(2)
|
|
|
|
def __init__(self, units: int, nano: int):
|
|
max_quotation_nano = 1_000_000_000
|
|
self.units = units + nano // max_quotation_nano
|
|
self.nano = nano % max_quotation_nano
|
|
|
|
def __add__(self, other: "Quotation") -> "Quotation":
|
|
return Quotation(
|
|
units=self.units + other.units,
|
|
nano=self.nano + other.nano,
|
|
)
|
|
|
|
def __sub__(self, other: "Quotation") -> "Quotation":
|
|
return Quotation(
|
|
units=self.units - other.units,
|
|
nano=self.nano - other.nano,
|
|
)
|
|
|
|
def __hash__(self) -> int:
|
|
return hash((self.units, self.nano))
|
|
|
|
def __eq__(self, other: object) -> bool:
|
|
if not isinstance(other, Quotation):
|
|
return NotImplemented
|
|
return self.units == other.units and self.nano == other.nano
|
|
|
|
def __lt__(self, other: "Quotation") -> bool:
|
|
return self.units < other.units or (
|
|
self.units == other.units and self.nano < other.nano
|
|
)
|
|
|
|
def __le__(self, other: "Quotation") -> bool:
|
|
return self.units < other.units or (
|
|
self.units == other.units and self.nano <= other.nano
|
|
)
|
|
|
|
def __gt__(self, other: "Quotation") -> bool:
|
|
return self.units > other.units or (
|
|
self.units == other.units and self.nano > other.nano
|
|
)
|
|
|
|
def __ge__(self, other: "Quotation") -> bool:
|
|
return self.units > other.units or (
|
|
self.units == other.units and self.nano >= other.nano
|
|
)
|
|
|
|
def __abs__(self) -> "Quotation":
|
|
return Quotation(units=abs(self.units), nano=abs(self.nano))
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PingRequest(_grpc_helpers.Message):
|
|
time: Optional[datetime] = _grpc_helpers.message_field(1, optional=True)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PingDelaySettings(_grpc_helpers.Message):
|
|
ping_delay_ms: Optional[int] = _grpc_helpers.int32_field(1, optional=True)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Ping(_grpc_helpers.Message):
|
|
time: datetime = _grpc_helpers.int64_field(1)
|
|
stream_id: str = _grpc_helpers.string_field(2)
|
|
ping_request_time: Optional[datetime] = _grpc_helpers.message_field(
|
|
4, optional=True
|
|
)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class TradingSchedulesRequest(_grpc_helpers.Message):
|
|
exchange: Optional[str] = _grpc_helpers.string_field(1)
|
|
from_: Optional[datetime] = _grpc_helpers.message_field(2)
|
|
to: Optional[datetime] = _grpc_helpers.message_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class TradingSchedulesResponse(_grpc_helpers.Message):
|
|
exchanges: List["TradingSchedule"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class TradingSchedule(_grpc_helpers.Message):
|
|
exchange: str = _grpc_helpers.string_field(1)
|
|
days: List["TradingDay"] = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class TradingDay(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
|
|
date: datetime = _grpc_helpers.message_field(1)
|
|
is_trading_day: bool = _grpc_helpers.bool_field(2)
|
|
start_time: datetime = _grpc_helpers.message_field(3)
|
|
end_time: datetime = _grpc_helpers.message_field(4)
|
|
# reserved 5,6
|
|
opening_auction_start_time: datetime = _grpc_helpers.message_field(7)
|
|
closing_auction_end_time: datetime = _grpc_helpers.message_field(8)
|
|
evening_opening_auction_start_time: datetime = _grpc_helpers.message_field(9)
|
|
evening_start_time: datetime = _grpc_helpers.message_field(10)
|
|
evening_end_time: datetime = _grpc_helpers.message_field(11)
|
|
clearing_start_time: datetime = _grpc_helpers.message_field(12)
|
|
clearing_end_time: datetime = _grpc_helpers.message_field(13)
|
|
premarket_start_time: datetime = _grpc_helpers.message_field(14)
|
|
premarket_end_time: datetime = _grpc_helpers.message_field(15)
|
|
closing_auction_start_time: datetime = _grpc_helpers.message_field(16)
|
|
opening_auction_end_time: datetime = _grpc_helpers.message_field(17)
|
|
intervals: List["TradingInterval"] = _grpc_helpers.message_field(18)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class InstrumentRequest(_grpc_helpers.Message):
|
|
id_type: "InstrumentIdType" = _grpc_helpers.enum_field(1)
|
|
class_code: Optional[str] = _grpc_helpers.string_field(2)
|
|
id: str = _grpc_helpers.string_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class InstrumentsRequest(_grpc_helpers.Message):
|
|
instrument_status: Optional["InstrumentStatus"] = _grpc_helpers.enum_field(1)
|
|
instrument_exchange: Optional["InstrumentExchangeType"] = _grpc_helpers.enum_field(
|
|
2
|
|
)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class FilterOptionsRequest(_grpc_helpers.Message):
|
|
basic_asset_uid: Optional[str] = _grpc_helpers.string_field(1)
|
|
basic_asset_position_uid: Optional[str] = _grpc_helpers.string_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class BondResponse(_grpc_helpers.Message):
|
|
instrument: "Bond" = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class BondsResponse(_grpc_helpers.Message):
|
|
instruments: List["Bond"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetBondCouponsRequest(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
from_: Optional[datetime] = _grpc_helpers.message_field(2)
|
|
to: Optional[datetime] = _grpc_helpers.message_field(3)
|
|
instrument_id: str = _grpc_helpers.string_field(4)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetBondCouponsResponse(_grpc_helpers.Message):
|
|
events: List["Coupon"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetBondEventsRequest(_grpc_helpers.Message):
|
|
from_: Optional[datetime] = _grpc_helpers.message_field(2)
|
|
to: Optional[datetime] = _grpc_helpers.message_field(3)
|
|
instrument_id: str = _grpc_helpers.string_field(4)
|
|
type: "EventType" = _grpc_helpers.enum_field(5)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class BondEvent(_grpc_helpers.Message):
|
|
instrument_id: str = _grpc_helpers.string_field(2)
|
|
event_number: int = _grpc_helpers.int32_field(3)
|
|
event_date: datetime = _grpc_helpers.message_field(4)
|
|
event_type: "EventType" = _grpc_helpers.enum_field(5)
|
|
event_total_vol: "Quotation" = _grpc_helpers.message_field(6)
|
|
fix_date: datetime = _grpc_helpers.message_field(7)
|
|
rate_date: datetime = _grpc_helpers.message_field(8)
|
|
default_date: datetime = _grpc_helpers.message_field(9)
|
|
real_pay_date: datetime = _grpc_helpers.message_field(10)
|
|
pay_date: datetime = _grpc_helpers.message_field(11)
|
|
pay_one_bond: "MoneyValue" = _grpc_helpers.message_field(12)
|
|
money_flow_val: "MoneyValue" = _grpc_helpers.message_field(13)
|
|
execution: str = _grpc_helpers.string_field(14)
|
|
operation_type: str = _grpc_helpers.string_field(15)
|
|
value: "Quotation" = _grpc_helpers.message_field(16)
|
|
note: str = _grpc_helpers.string_field(17)
|
|
convert_to_fin_tool_id: str = _grpc_helpers.string_field(18)
|
|
coupon_start_date: datetime = _grpc_helpers.message_field(19)
|
|
coupon_end_date: datetime = _grpc_helpers.message_field(20)
|
|
coupon_period: int = _grpc_helpers.int32_field(21)
|
|
coupon_interest_rate: "Quotation" = _grpc_helpers.message_field(22)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetBondEventsResponse(_grpc_helpers.Message):
|
|
events: List["BondEvent"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Coupon(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
coupon_date: datetime = _grpc_helpers.message_field(2)
|
|
coupon_number: int = _grpc_helpers.int64_field(3)
|
|
fix_date: datetime = _grpc_helpers.message_field(4)
|
|
pay_one_bond: "MoneyValue" = _grpc_helpers.message_field(5)
|
|
coupon_type: "CouponType" = _grpc_helpers.enum_field(6)
|
|
coupon_start_date: datetime = _grpc_helpers.message_field(7)
|
|
coupon_end_date: datetime = _grpc_helpers.message_field(8)
|
|
coupon_period: int = _grpc_helpers.int32_field(9)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class CurrencyResponse(_grpc_helpers.Message):
|
|
instrument: "Currency" = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class CurrenciesResponse(_grpc_helpers.Message):
|
|
instruments: List["Currency"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class EtfResponse(_grpc_helpers.Message):
|
|
instrument: "Etf" = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class EtfsResponse(_grpc_helpers.Message):
|
|
instruments: List["Etf"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class FutureResponse(_grpc_helpers.Message):
|
|
instrument: "Future" = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class FuturesResponse(_grpc_helpers.Message):
|
|
instruments: List["Future"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OptionResponse(_grpc_helpers.Message):
|
|
instrument: "Option" = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OptionsResponse(_grpc_helpers.Message):
|
|
instruments: List["Option"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Option(_grpc_helpers.Message):
|
|
uid: str = _grpc_helpers.string_field(1)
|
|
position_uid: str = _grpc_helpers.string_field(2)
|
|
ticker: str = _grpc_helpers.string_field(3)
|
|
class_code: str = _grpc_helpers.string_field(4)
|
|
basic_asset_position_uid: str = _grpc_helpers.string_field(5)
|
|
|
|
trading_status: "SecurityTradingStatus" = _grpc_helpers.message_field(21)
|
|
real_exchange: "RealExchange" = _grpc_helpers.message_field(31)
|
|
direction: "OptionDirection" = _grpc_helpers.message_field(41)
|
|
payment_type: "OptionPaymentType" = _grpc_helpers.message_field(42)
|
|
style: "OptionStyle" = _grpc_helpers.message_field(43)
|
|
settlement_type: "OptionSettlementType" = _grpc_helpers.message_field(44)
|
|
|
|
name: str = _grpc_helpers.string_field(101)
|
|
currency: str = _grpc_helpers.string_field(111)
|
|
settlement_currency: str = _grpc_helpers.string_field(112)
|
|
asset_type: str = _grpc_helpers.string_field(131)
|
|
basic_asset: str = _grpc_helpers.string_field(132)
|
|
exchange: str = _grpc_helpers.string_field(141)
|
|
country_of_risk: str = _grpc_helpers.string_field(151)
|
|
country_of_risk_name: str = _grpc_helpers.string_field(152)
|
|
sector: str = _grpc_helpers.string_field(161)
|
|
brand: "BrandData" = _grpc_helpers.message_field(162)
|
|
|
|
lot: int = _grpc_helpers.int32_field(201)
|
|
basic_asset_size: "Quotation" = _grpc_helpers.message_field(211)
|
|
klong: "Quotation" = _grpc_helpers.message_field(221)
|
|
kshort: "Quotation" = _grpc_helpers.message_field(222)
|
|
dlong: "Quotation" = _grpc_helpers.message_field(223)
|
|
dshort: "Quotation" = _grpc_helpers.message_field(224)
|
|
dlong_min: "Quotation" = _grpc_helpers.message_field(225)
|
|
dshort_min: "Quotation" = _grpc_helpers.message_field(226)
|
|
min_price_increment: "Quotation" = _grpc_helpers.message_field(231)
|
|
strike_price: "MoneyValue" = _grpc_helpers.message_field(241)
|
|
|
|
dlong_client: "Quotation" = _grpc_helpers.message_field(290)
|
|
dshort_client: "Quotation" = _grpc_helpers.message_field(291)
|
|
|
|
expiration_date: datetime = _grpc_helpers.message_field(301)
|
|
first_trade_date: datetime = _grpc_helpers.message_field(311)
|
|
last_trade_date: datetime = _grpc_helpers.message_field(312)
|
|
first_1min_candle_date: datetime = _grpc_helpers.message_field(321)
|
|
first_1day_candle_date: datetime = _grpc_helpers.message_field(322)
|
|
|
|
short_enabled_flag: bool = _grpc_helpers.bool_field(401)
|
|
for_iis_flag: bool = _grpc_helpers.bool_field(402)
|
|
otc_flag: bool = _grpc_helpers.bool_field(403)
|
|
buy_available_flag: bool = _grpc_helpers.bool_field(404)
|
|
sell_available_flag: bool = _grpc_helpers.bool_field(405)
|
|
for_qual_investor_flag: bool = _grpc_helpers.bool_field(406)
|
|
weekend_flag: bool = _grpc_helpers.bool_field(407)
|
|
blocked_tca_flag: bool = _grpc_helpers.bool_field(408)
|
|
api_trade_available_flag: bool = _grpc_helpers.bool_field(409)
|
|
required_tests: List[str] = _grpc_helpers.string_field(410)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class ShareResponse(_grpc_helpers.Message):
|
|
instrument: "Share" = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class SharesResponse(_grpc_helpers.Message):
|
|
instruments: List["Share"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Bond(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
ticker: str = _grpc_helpers.string_field(2)
|
|
class_code: str = _grpc_helpers.string_field(3)
|
|
isin: str = _grpc_helpers.string_field(4)
|
|
lot: int = _grpc_helpers.int32_field(5)
|
|
currency: str = _grpc_helpers.string_field(6)
|
|
klong: "Quotation" = _grpc_helpers.message_field(7)
|
|
kshort: "Quotation" = _grpc_helpers.message_field(8)
|
|
dlong: "Quotation" = _grpc_helpers.message_field(9)
|
|
dshort: "Quotation" = _grpc_helpers.message_field(10)
|
|
dlong_min: "Quotation" = _grpc_helpers.message_field(11)
|
|
dshort_min: "Quotation" = _grpc_helpers.message_field(12)
|
|
short_enabled_flag: bool = _grpc_helpers.bool_field(13)
|
|
name: str = _grpc_helpers.string_field(15)
|
|
exchange: str = _grpc_helpers.string_field(16)
|
|
coupon_quantity_per_year: int = _grpc_helpers.int32_field(17)
|
|
maturity_date: datetime = _grpc_helpers.message_field(18)
|
|
nominal: "MoneyValue" = _grpc_helpers.message_field(19)
|
|
initial_nominal: "MoneyValue" = _grpc_helpers.message_field(20)
|
|
state_reg_date: datetime = _grpc_helpers.message_field(21)
|
|
placement_date: datetime = _grpc_helpers.message_field(22)
|
|
placement_price: "MoneyValue" = _grpc_helpers.message_field(23)
|
|
aci_value: "MoneyValue" = _grpc_helpers.message_field(24)
|
|
country_of_risk: str = _grpc_helpers.string_field(25)
|
|
country_of_risk_name: str = _grpc_helpers.string_field(26)
|
|
sector: str = _grpc_helpers.string_field(27)
|
|
issue_kind: str = _grpc_helpers.string_field(28)
|
|
issue_size: int = _grpc_helpers.int64_field(29)
|
|
issue_size_plan: int = _grpc_helpers.int64_field(30)
|
|
trading_status: "SecurityTradingStatus" = _grpc_helpers.enum_field(31)
|
|
otc_flag: bool = _grpc_helpers.bool_field(32)
|
|
buy_available_flag: bool = _grpc_helpers.bool_field(33)
|
|
sell_available_flag: bool = _grpc_helpers.bool_field(34)
|
|
floating_coupon_flag: bool = _grpc_helpers.bool_field(35)
|
|
perpetual_flag: bool = _grpc_helpers.bool_field(36)
|
|
amortization_flag: bool = _grpc_helpers.bool_field(37)
|
|
min_price_increment: "Quotation" = _grpc_helpers.message_field(38)
|
|
api_trade_available_flag: bool = _grpc_helpers.bool_field(39)
|
|
uid: str = _grpc_helpers.string_field(40)
|
|
real_exchange: "RealExchange" = _grpc_helpers.message_field(41)
|
|
position_uid: str = _grpc_helpers.string_field(42)
|
|
asset_uid: str = _grpc_helpers.string_field(43)
|
|
for_iis_flag: bool = _grpc_helpers.bool_field(51)
|
|
for_qual_investor_flag: bool = _grpc_helpers.bool_field(52)
|
|
weekend_flag: bool = _grpc_helpers.bool_field(53)
|
|
blocked_tca_flag: bool = _grpc_helpers.bool_field(54)
|
|
subordinated_flag: bool = _grpc_helpers.bool_field(55)
|
|
liquidity_flag: bool = _grpc_helpers.bool_field(56)
|
|
first_1min_candle_date: datetime = _grpc_helpers.message_field(61)
|
|
first_1day_candle_date: datetime = _grpc_helpers.message_field(62)
|
|
risk_level: "RiskLevel" = _grpc_helpers.enum_field(63)
|
|
brand: "BrandData" = _grpc_helpers.message_field(64)
|
|
bond_type: "BondType" = _grpc_helpers.message_field(65)
|
|
call_date: datetime = _grpc_helpers.message_field(69)
|
|
dlong_client: "Quotation" = _grpc_helpers.message_field(90)
|
|
dshort_client: "Quotation" = _grpc_helpers.message_field(91)
|
|
required_tests: List[str] = _grpc_helpers.string_field(44)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Currency(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
ticker: str = _grpc_helpers.string_field(2)
|
|
class_code: str = _grpc_helpers.string_field(3)
|
|
isin: str = _grpc_helpers.string_field(4)
|
|
lot: int = _grpc_helpers.int32_field(5)
|
|
currency: str = _grpc_helpers.string_field(6)
|
|
klong: "Quotation" = _grpc_helpers.message_field(7)
|
|
kshort: "Quotation" = _grpc_helpers.message_field(8)
|
|
dlong: "Quotation" = _grpc_helpers.message_field(9)
|
|
dshort: "Quotation" = _grpc_helpers.message_field(10)
|
|
dlong_min: "Quotation" = _grpc_helpers.message_field(11)
|
|
dshort_min: "Quotation" = _grpc_helpers.message_field(12)
|
|
short_enabled_flag: bool = _grpc_helpers.bool_field(13)
|
|
name: str = _grpc_helpers.string_field(15)
|
|
exchange: str = _grpc_helpers.string_field(16)
|
|
nominal: "MoneyValue" = _grpc_helpers.message_field(17)
|
|
country_of_risk: str = _grpc_helpers.string_field(18)
|
|
country_of_risk_name: str = _grpc_helpers.string_field(19)
|
|
trading_status: "SecurityTradingStatus" = _grpc_helpers.enum_field(20)
|
|
otc_flag: bool = _grpc_helpers.bool_field(21)
|
|
buy_available_flag: bool = _grpc_helpers.bool_field(22)
|
|
sell_available_flag: bool = _grpc_helpers.bool_field(23)
|
|
iso_currency_name: str = _grpc_helpers.string_field(24)
|
|
min_price_increment: "Quotation" = _grpc_helpers.message_field(25)
|
|
api_trade_available_flag: bool = _grpc_helpers.bool_field(26)
|
|
uid: str = _grpc_helpers.string_field(27)
|
|
real_exchange: "RealExchange" = _grpc_helpers.message_field(28)
|
|
position_uid: str = _grpc_helpers.string_field(29)
|
|
required_tests: List[str] = _grpc_helpers.string_field(30)
|
|
asset_uid: str = _grpc_helpers.string_field(31)
|
|
for_iis_flag: bool = _grpc_helpers.bool_field(41)
|
|
for_qual_investor_flag: bool = _grpc_helpers.bool_field(52)
|
|
weekend_flag: bool = _grpc_helpers.bool_field(53)
|
|
blocked_tca_flag: bool = _grpc_helpers.bool_field(54)
|
|
first_1min_candle_date: datetime = _grpc_helpers.message_field(56)
|
|
first_1day_candle_date: datetime = _grpc_helpers.message_field(57)
|
|
brand: "BrandData" = _grpc_helpers.message_field(60)
|
|
dlong_client: "Quotation" = _grpc_helpers.message_field(90)
|
|
dshort_client: "Quotation" = _grpc_helpers.message_field(91)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Etf(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
ticker: str = _grpc_helpers.string_field(2)
|
|
class_code: str = _grpc_helpers.string_field(3)
|
|
isin: str = _grpc_helpers.string_field(4)
|
|
lot: int = _grpc_helpers.int32_field(5)
|
|
currency: str = _grpc_helpers.string_field(6)
|
|
klong: "Quotation" = _grpc_helpers.message_field(7)
|
|
kshort: "Quotation" = _grpc_helpers.message_field(8)
|
|
dlong: "Quotation" = _grpc_helpers.message_field(9)
|
|
dshort: "Quotation" = _grpc_helpers.message_field(10)
|
|
dlong_min: "Quotation" = _grpc_helpers.message_field(11)
|
|
dshort_min: "Quotation" = _grpc_helpers.message_field(12)
|
|
short_enabled_flag: bool = _grpc_helpers.bool_field(13)
|
|
name: str = _grpc_helpers.string_field(15)
|
|
exchange: str = _grpc_helpers.string_field(16)
|
|
fixed_commission: "Quotation" = _grpc_helpers.message_field(17)
|
|
focus_type: str = _grpc_helpers.string_field(18)
|
|
released_date: datetime = _grpc_helpers.message_field(19)
|
|
num_shares: "Quotation" = _grpc_helpers.message_field(20)
|
|
country_of_risk: str = _grpc_helpers.string_field(21)
|
|
country_of_risk_name: str = _grpc_helpers.string_field(22)
|
|
sector: str = _grpc_helpers.string_field(23)
|
|
rebalancing_freq: str = _grpc_helpers.string_field(24)
|
|
trading_status: "SecurityTradingStatus" = _grpc_helpers.enum_field(25)
|
|
otc_flag: bool = _grpc_helpers.bool_field(26)
|
|
buy_available_flag: bool = _grpc_helpers.bool_field(27)
|
|
sell_available_flag: bool = _grpc_helpers.bool_field(28)
|
|
min_price_increment: "Quotation" = _grpc_helpers.message_field(29)
|
|
api_trade_available_flag: bool = _grpc_helpers.bool_field(30)
|
|
uid: str = _grpc_helpers.string_field(31)
|
|
real_exchange: "RealExchange" = _grpc_helpers.message_field(32)
|
|
position_uid: str = _grpc_helpers.string_field(33)
|
|
asset_uid: str = _grpc_helpers.string_field(34)
|
|
instrument_exchange: "InstrumentExchangeType" = _grpc_helpers.message_field(35)
|
|
required_tests: List[str] = _grpc_helpers.string_field(36)
|
|
for_iis_flag: bool = _grpc_helpers.bool_field(41)
|
|
for_qual_investor_flag: bool = _grpc_helpers.bool_field(42)
|
|
weekend_flag: bool = _grpc_helpers.bool_field(43)
|
|
blocked_tca_flag: bool = _grpc_helpers.bool_field(44)
|
|
liquidity_flag: bool = _grpc_helpers.bool_field(45)
|
|
first_1min_candle_date: datetime = _grpc_helpers.message_field(56)
|
|
first_1day_candle_date: datetime = _grpc_helpers.message_field(57)
|
|
brand: "BrandData" = _grpc_helpers.message_field(60)
|
|
dlong_client: "Quotation" = _grpc_helpers.message_field(90)
|
|
dshort_client: "Quotation" = _grpc_helpers.message_field(91)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Future(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
ticker: str = _grpc_helpers.string_field(2)
|
|
class_code: str = _grpc_helpers.string_field(3)
|
|
lot: int = _grpc_helpers.int32_field(4)
|
|
currency: str = _grpc_helpers.string_field(5)
|
|
klong: "Quotation" = _grpc_helpers.message_field(6)
|
|
kshort: "Quotation" = _grpc_helpers.message_field(7)
|
|
dlong: "Quotation" = _grpc_helpers.message_field(8)
|
|
dshort: "Quotation" = _grpc_helpers.message_field(9)
|
|
dlong_min: "Quotation" = _grpc_helpers.message_field(10)
|
|
dshort_min: "Quotation" = _grpc_helpers.message_field(11)
|
|
short_enabled_flag: bool = _grpc_helpers.bool_field(12)
|
|
name: str = _grpc_helpers.string_field(13)
|
|
exchange: str = _grpc_helpers.string_field(14)
|
|
first_trade_date: datetime = _grpc_helpers.message_field(15)
|
|
last_trade_date: datetime = _grpc_helpers.message_field(16)
|
|
futures_type: str = _grpc_helpers.string_field(17)
|
|
asset_type: str = _grpc_helpers.string_field(18)
|
|
basic_asset: str = _grpc_helpers.string_field(19)
|
|
basic_asset_size: "Quotation" = _grpc_helpers.message_field(20)
|
|
country_of_risk: str = _grpc_helpers.string_field(21)
|
|
country_of_risk_name: str = _grpc_helpers.string_field(22)
|
|
sector: str = _grpc_helpers.string_field(23)
|
|
expiration_date: datetime = _grpc_helpers.message_field(24)
|
|
trading_status: "SecurityTradingStatus" = _grpc_helpers.enum_field(25)
|
|
otc_flag: bool = _grpc_helpers.bool_field(26)
|
|
buy_available_flag: bool = _grpc_helpers.bool_field(27)
|
|
sell_available_flag: bool = _grpc_helpers.bool_field(28)
|
|
min_price_increment: "Quotation" = _grpc_helpers.message_field(29)
|
|
api_trade_available_flag: bool = _grpc_helpers.bool_field(30)
|
|
uid: str = _grpc_helpers.string_field(31)
|
|
real_exchange: "RealExchange" = _grpc_helpers.message_field(32)
|
|
position_uid: str = _grpc_helpers.string_field(33)
|
|
basic_asset_position_uid: str = _grpc_helpers.string_field(34)
|
|
required_tests: List[str] = _grpc_helpers.string_field(35)
|
|
for_iis_flag: bool = _grpc_helpers.bool_field(41)
|
|
for_qual_investor_flag: bool = _grpc_helpers.bool_field(42)
|
|
weekend_flag: bool = _grpc_helpers.bool_field(43)
|
|
blocked_tca_flag: bool = _grpc_helpers.bool_field(44)
|
|
first_1min_candle_date: datetime = _grpc_helpers.message_field(56)
|
|
first_1day_candle_date: datetime = _grpc_helpers.message_field(57)
|
|
initial_margin_on_buy: "MoneyValue" = _grpc_helpers.message_field(61)
|
|
initial_margin_on_sell: "MoneyValue" = _grpc_helpers.message_field(62)
|
|
min_price_increment_amount: "Quotation" = _grpc_helpers.message_field(63)
|
|
brand: "BrandData" = _grpc_helpers.message_field(64)
|
|
dlong_client: "Quotation" = _grpc_helpers.message_field(90)
|
|
dshort_client: "Quotation" = _grpc_helpers.message_field(91)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Share(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
ticker: str = _grpc_helpers.string_field(2)
|
|
class_code: str = _grpc_helpers.string_field(3)
|
|
isin: str = _grpc_helpers.string_field(4)
|
|
lot: int = _grpc_helpers.int32_field(5)
|
|
currency: str = _grpc_helpers.string_field(6)
|
|
klong: "Quotation" = _grpc_helpers.message_field(7)
|
|
kshort: "Quotation" = _grpc_helpers.message_field(8)
|
|
dlong: "Quotation" = _grpc_helpers.message_field(9)
|
|
dshort: "Quotation" = _grpc_helpers.message_field(10)
|
|
dlong_min: "Quotation" = _grpc_helpers.message_field(11)
|
|
dshort_min: "Quotation" = _grpc_helpers.message_field(12)
|
|
short_enabled_flag: bool = _grpc_helpers.bool_field(13)
|
|
name: str = _grpc_helpers.string_field(15)
|
|
exchange: str = _grpc_helpers.string_field(16)
|
|
ipo_date: datetime = _grpc_helpers.message_field(17)
|
|
issue_size: int = _grpc_helpers.int64_field(18)
|
|
country_of_risk: str = _grpc_helpers.string_field(19)
|
|
country_of_risk_name: str = _grpc_helpers.string_field(20)
|
|
sector: str = _grpc_helpers.string_field(21)
|
|
issue_size_plan: int = _grpc_helpers.int64_field(22)
|
|
nominal: "MoneyValue" = _grpc_helpers.message_field(23)
|
|
trading_status: "SecurityTradingStatus" = _grpc_helpers.enum_field(25)
|
|
otc_flag: bool = _grpc_helpers.bool_field(26)
|
|
buy_available_flag: bool = _grpc_helpers.bool_field(27)
|
|
sell_available_flag: bool = _grpc_helpers.bool_field(28)
|
|
div_yield_flag: bool = _grpc_helpers.bool_field(29)
|
|
share_type: "ShareType" = _grpc_helpers.enum_field(30)
|
|
min_price_increment: "Quotation" = _grpc_helpers.message_field(31)
|
|
api_trade_available_flag: bool = _grpc_helpers.bool_field(32)
|
|
uid: str = _grpc_helpers.string_field(33)
|
|
real_exchange: "RealExchange" = _grpc_helpers.message_field(34)
|
|
position_uid: str = _grpc_helpers.string_field(35)
|
|
asset_uid: str = _grpc_helpers.string_field(36)
|
|
instrument_exchange: "InstrumentExchangeType" = _grpc_helpers.message_field(37)
|
|
required_tests: List[str] = _grpc_helpers.string_field(38)
|
|
for_iis_flag: bool = _grpc_helpers.bool_field(46)
|
|
for_qual_investor_flag: bool = _grpc_helpers.bool_field(47)
|
|
weekend_flag: bool = _grpc_helpers.bool_field(48)
|
|
blocked_tca_flag: bool = _grpc_helpers.bool_field(49)
|
|
liquidity_flag: bool = _grpc_helpers.bool_field(50)
|
|
first_1min_candle_date: datetime = _grpc_helpers.message_field(56)
|
|
first_1day_candle_date: datetime = _grpc_helpers.message_field(57)
|
|
brand: "BrandData" = _grpc_helpers.message_field(60)
|
|
dlong_client: "Quotation" = _grpc_helpers.message_field(90)
|
|
dshort_client: "Quotation" = _grpc_helpers.message_field(91)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetAccruedInterestsRequest(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
from_: datetime = _grpc_helpers.message_field(2)
|
|
to: datetime = _grpc_helpers.message_field(3)
|
|
instrument_id: str = _grpc_helpers.string_field(4)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetAccruedInterestsResponse(_grpc_helpers.Message):
|
|
accrued_interests: List["AccruedInterest"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class AccruedInterest(_grpc_helpers.Message):
|
|
date: datetime = _grpc_helpers.message_field(1)
|
|
value: "Quotation" = _grpc_helpers.message_field(2)
|
|
value_percent: "Quotation" = _grpc_helpers.message_field(3)
|
|
nominal: "Quotation" = _grpc_helpers.message_field(4)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetFuturesMarginRequest(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
instrument_id: str = _grpc_helpers.string_field(4)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetFuturesMarginResponse(_grpc_helpers.Message):
|
|
initial_margin_on_buy: "MoneyValue" = _grpc_helpers.message_field(1)
|
|
initial_margin_on_sell: "MoneyValue" = _grpc_helpers.message_field(2)
|
|
min_price_increment: "Quotation" = _grpc_helpers.message_field(3)
|
|
min_price_increment_amount: "Quotation" = _grpc_helpers.message_field(4)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class InstrumentResponse(_grpc_helpers.Message):
|
|
instrument: "Instrument" = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Instrument(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
ticker: str = _grpc_helpers.string_field(2)
|
|
class_code: str = _grpc_helpers.string_field(3)
|
|
isin: str = _grpc_helpers.string_field(4)
|
|
lot: int = _grpc_helpers.int32_field(5)
|
|
currency: str = _grpc_helpers.string_field(6)
|
|
klong: "Quotation" = _grpc_helpers.message_field(7)
|
|
kshort: "Quotation" = _grpc_helpers.message_field(8)
|
|
dlong: "Quotation" = _grpc_helpers.message_field(9)
|
|
dshort: "Quotation" = _grpc_helpers.message_field(10)
|
|
dlong_min: "Quotation" = _grpc_helpers.message_field(11)
|
|
dshort_min: "Quotation" = _grpc_helpers.message_field(12)
|
|
short_enabled_flag: bool = _grpc_helpers.bool_field(13)
|
|
name: str = _grpc_helpers.string_field(14)
|
|
exchange: str = _grpc_helpers.string_field(15)
|
|
country_of_risk: str = _grpc_helpers.string_field(16)
|
|
country_of_risk_name: str = _grpc_helpers.string_field(17)
|
|
instrument_type: str = _grpc_helpers.string_field(18)
|
|
trading_status: "SecurityTradingStatus" = _grpc_helpers.enum_field(19)
|
|
otc_flag: bool = _grpc_helpers.bool_field(20)
|
|
buy_available_flag: bool = _grpc_helpers.bool_field(21)
|
|
sell_available_flag: bool = _grpc_helpers.bool_field(22)
|
|
min_price_increment: "Quotation" = _grpc_helpers.message_field(23)
|
|
api_trade_available_flag: bool = _grpc_helpers.bool_field(24)
|
|
uid: str = _grpc_helpers.string_field(25)
|
|
real_exchange: "RealExchange" = _grpc_helpers.message_field(26)
|
|
position_uid: str = _grpc_helpers.string_field(27)
|
|
asset_uid: str = _grpc_helpers.string_field(28)
|
|
required_tests: List[str] = _grpc_helpers.string_field(29)
|
|
for_iis_flag: bool = _grpc_helpers.bool_field(36)
|
|
for_qual_investor_flag: bool = _grpc_helpers.bool_field(37)
|
|
weekend_flag: bool = _grpc_helpers.bool_field(38)
|
|
blocked_tca_flag: bool = _grpc_helpers.bool_field(39)
|
|
instrument_kind: "InstrumentType" = _grpc_helpers.enum_field(40)
|
|
first_1min_candle_date: datetime = _grpc_helpers.message_field(56)
|
|
first_1day_candle_date: datetime = _grpc_helpers.message_field(57)
|
|
brand: "BrandData" = _grpc_helpers.message_field(60)
|
|
dlong_client: "Quotation" = _grpc_helpers.message_field(490)
|
|
dshort_client: "Quotation" = _grpc_helpers.message_field(491)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetDividendsRequest(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
from_: Optional[datetime] = _grpc_helpers.message_field(2)
|
|
to: Optional[datetime] = _grpc_helpers.message_field(3)
|
|
instrument_id: str = _grpc_helpers.string_field(4)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetDividendsResponse(_grpc_helpers.Message):
|
|
dividends: List["Dividend"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Dividend(_grpc_helpers.Message):
|
|
dividend_net: "MoneyValue" = _grpc_helpers.message_field(1)
|
|
payment_date: datetime = _grpc_helpers.message_field(2)
|
|
declared_date: datetime = _grpc_helpers.message_field(3)
|
|
last_buy_date: datetime = _grpc_helpers.message_field(4)
|
|
dividend_type: str = _grpc_helpers.string_field(5)
|
|
record_date: datetime = _grpc_helpers.message_field(6)
|
|
regularity: str = _grpc_helpers.string_field(7)
|
|
close_price: "MoneyValue" = _grpc_helpers.message_field(8)
|
|
yield_value: "Quotation" = _grpc_helpers.message_field(9)
|
|
created_at: datetime = _grpc_helpers.message_field(10)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class AssetRequest(_grpc_helpers.Message):
|
|
id: str = _grpc_helpers.string_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class AssetResponse(_grpc_helpers.Message):
|
|
asset: "AssetFull" = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class AssetsRequest(_grpc_helpers.Message):
|
|
instrument_type: Optional["InstrumentType"] = _grpc_helpers.enum_field(1)
|
|
instrument_status: Optional["InstrumentStatus"] = _grpc_helpers.enum_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class AssetsResponse(_grpc_helpers.Message):
|
|
assets: List["Asset"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class AssetFull(_grpc_helpers.Message):
|
|
uid: str = _grpc_helpers.string_field(1)
|
|
type: "AssetType" = _grpc_helpers.enum_field(2)
|
|
name: str = _grpc_helpers.string_field(3)
|
|
name_brief: str = _grpc_helpers.string_field(4)
|
|
description: str = _grpc_helpers.string_field(5)
|
|
deleted_at: datetime = _grpc_helpers.message_field(6)
|
|
required_tests: List[str] = _grpc_helpers.message_field(7)
|
|
currency: "AssetCurrency" = _grpc_helpers.message_field(8, group="ext")
|
|
security: "AssetSecurity" = _grpc_helpers.message_field(9, group="ext")
|
|
gos_reg_code: str = _grpc_helpers.string_field(10)
|
|
cfi: str = _grpc_helpers.string_field(11)
|
|
code_nsd: str = _grpc_helpers.string_field(12)
|
|
status: str = _grpc_helpers.string_field(13)
|
|
brand: "Brand" = _grpc_helpers.message_field(14)
|
|
updated_at: datetime = _grpc_helpers.message_field(15)
|
|
br_code: str = _grpc_helpers.string_field(16)
|
|
br_code_name: str = _grpc_helpers.string_field(17)
|
|
instruments: List["AssetInstrument"] = _grpc_helpers.message_field(18)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Asset(_grpc_helpers.Message):
|
|
uid: str = _grpc_helpers.string_field(1)
|
|
type: "AssetType" = _grpc_helpers.enum_field(2)
|
|
name: str = _grpc_helpers.string_field(3)
|
|
instruments: List["AssetInstrument"] = _grpc_helpers.message_field(4)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class AssetCurrency(_grpc_helpers.Message):
|
|
base_currency: str = _grpc_helpers.string_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class AssetSecurity(_grpc_helpers.Message):
|
|
isin: str = _grpc_helpers.string_field(1)
|
|
type: str = _grpc_helpers.string_field(2)
|
|
instrument_kind: "InstrumentType" = _grpc_helpers.enum_field(10)
|
|
share: "AssetShare" = _grpc_helpers.message_field(3, group="ext")
|
|
bond: "AssetBond" = _grpc_helpers.message_field(4, group="ext")
|
|
sp: "AssetStructuredProduct" = _grpc_helpers.message_field(5, group="ext")
|
|
etf: "AssetEtf" = _grpc_helpers.message_field(6, group="ext")
|
|
clearing_certificate: "AssetClearingCertificate" = _grpc_helpers.message_field(
|
|
7, group="ext"
|
|
)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class AssetShare(_grpc_helpers.Message):
|
|
type: "ShareType" = _grpc_helpers.enum_field(1)
|
|
issue_size: "Quotation" = _grpc_helpers.message_field(2)
|
|
nominal: "Quotation" = _grpc_helpers.message_field(3)
|
|
nominal_currency: str = _grpc_helpers.string_field(4)
|
|
primary_index: str = _grpc_helpers.string_field(5)
|
|
dividend_rate: "Quotation" = _grpc_helpers.message_field(6)
|
|
preferred_share_type: str = _grpc_helpers.string_field(7)
|
|
ipo_date: datetime = _grpc_helpers.message_field(8)
|
|
registry_date: datetime = _grpc_helpers.message_field(9)
|
|
div_yield_flag: bool = _grpc_helpers.bool_field(10)
|
|
issue_kind: str = _grpc_helpers.string_field(11)
|
|
placement_date: datetime = _grpc_helpers.message_field(12)
|
|
repres_isin: str = _grpc_helpers.string_field(13)
|
|
issue_size_plan: "Quotation" = _grpc_helpers.message_field(14)
|
|
total_float: "Quotation" = _grpc_helpers.message_field(15)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class AssetBond(_grpc_helpers.Message):
|
|
current_nominal: "Quotation" = _grpc_helpers.message_field(1)
|
|
borrow_name: str = _grpc_helpers.string_field(2)
|
|
issue_size: "Quotation" = _grpc_helpers.message_field(3)
|
|
nominal: "Quotation" = _grpc_helpers.message_field(4)
|
|
nominal_currency: str = _grpc_helpers.string_field(5)
|
|
issue_kind: str = _grpc_helpers.string_field(6)
|
|
interest_kind: str = _grpc_helpers.string_field(7)
|
|
coupon_quantity_per_year: int = _grpc_helpers.int32_field(8)
|
|
indexed_nominal_flag: bool = _grpc_helpers.bool_field(9)
|
|
subordinated_flag: bool = _grpc_helpers.bool_field(10)
|
|
collateral_flag: bool = _grpc_helpers.bool_field(11)
|
|
tax_free_flag: bool = _grpc_helpers.bool_field(12)
|
|
amortization_flag: bool = _grpc_helpers.bool_field(13)
|
|
floating_coupon_flag: bool = _grpc_helpers.bool_field(14)
|
|
perpetual_flag: bool = _grpc_helpers.bool_field(15)
|
|
maturity_date: datetime = _grpc_helpers.message_field(16)
|
|
return_condition: str = _grpc_helpers.string_field(17)
|
|
state_reg_date: datetime = _grpc_helpers.message_field(18)
|
|
placement_date: datetime = _grpc_helpers.message_field(19)
|
|
placement_price: "Quotation" = _grpc_helpers.message_field(20)
|
|
issue_size_plan: "Quotation" = _grpc_helpers.message_field(21)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class AssetStructuredProduct(_grpc_helpers.Message):
|
|
borrow_name: str = _grpc_helpers.string_field(1)
|
|
nominal: "Quotation" = _grpc_helpers.message_field(2)
|
|
nominal_currency: str = _grpc_helpers.string_field(3)
|
|
type: "StructuredProductType" = _grpc_helpers.enum_field(4)
|
|
logic_portfolio: str = _grpc_helpers.string_field(5)
|
|
asset_type: "AssetType" = _grpc_helpers.enum_field(6)
|
|
basic_asset: str = _grpc_helpers.string_field(7)
|
|
safety_barrier: "Quotation" = _grpc_helpers.message_field(8)
|
|
maturity_date: datetime = _grpc_helpers.message_field(9)
|
|
issue_size_plan: "Quotation" = _grpc_helpers.message_field(10)
|
|
issue_size: "Quotation" = _grpc_helpers.message_field(11)
|
|
placement_date: datetime = _grpc_helpers.message_field(12)
|
|
issue_kind: str = _grpc_helpers.string_field(13)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class AssetEtf(_grpc_helpers.Message):
|
|
total_expense: "Quotation" = _grpc_helpers.message_field(1)
|
|
hurdle_rate: "Quotation" = _grpc_helpers.message_field(2)
|
|
performance_fee: "Quotation" = _grpc_helpers.message_field(3)
|
|
fixed_commission: "Quotation" = _grpc_helpers.message_field(4)
|
|
payment_type: str = _grpc_helpers.string_field(5)
|
|
watermark_flag: bool = _grpc_helpers.bool_field(6)
|
|
buy_premium: "Quotation" = _grpc_helpers.message_field(7)
|
|
sell_discount: "Quotation" = _grpc_helpers.message_field(8)
|
|
rebalancing_flag: bool = _grpc_helpers.bool_field(9)
|
|
rebalancing_freq: str = _grpc_helpers.string_field(10)
|
|
management_type: str = _grpc_helpers.string_field(11)
|
|
primary_index: str = _grpc_helpers.string_field(12)
|
|
focus_type: str = _grpc_helpers.string_field(13)
|
|
leveraged_flag: bool = _grpc_helpers.bool_field(14)
|
|
num_share: "Quotation" = _grpc_helpers.message_field(15)
|
|
ucits_flag: bool = _grpc_helpers.bool_field(16)
|
|
released_date: datetime = _grpc_helpers.message_field(17)
|
|
description: str = _grpc_helpers.string_field(18)
|
|
primary_index_description: str = _grpc_helpers.string_field(19)
|
|
primary_index_company: str = _grpc_helpers.string_field(20)
|
|
index_recovery_period: "Quotation" = _grpc_helpers.message_field(21)
|
|
inav_code: str = _grpc_helpers.string_field(22)
|
|
div_yield_flag: bool = _grpc_helpers.bool_field(23)
|
|
expense_commission: "Quotation" = _grpc_helpers.message_field(24)
|
|
primary_index_tracking_error: "Quotation" = _grpc_helpers.message_field(25)
|
|
rebalancing_plan: str = _grpc_helpers.string_field(26)
|
|
tax_rate: str = _grpc_helpers.string_field(27)
|
|
rebalancing_dates: List[datetime] = _grpc_helpers.message_field(28)
|
|
issue_kind: str = _grpc_helpers.string_field(29)
|
|
nominal: "Quotation" = _grpc_helpers.message_field(30)
|
|
nominal_currency: str = _grpc_helpers.string_field(31)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class AssetClearingCertificate(_grpc_helpers.Message):
|
|
nominal: "Quotation" = _grpc_helpers.message_field(1)
|
|
nominal_currency: str = _grpc_helpers.string_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Brand(_grpc_helpers.Message):
|
|
uid: str = _grpc_helpers.string_field(1)
|
|
name: str = _grpc_helpers.string_field(2)
|
|
description: str = _grpc_helpers.string_field(3)
|
|
info: str = _grpc_helpers.string_field(4)
|
|
company: str = _grpc_helpers.string_field(5)
|
|
sector: str = _grpc_helpers.string_field(6)
|
|
country_of_risk: str = _grpc_helpers.string_field(7)
|
|
country_of_risk_name: str = _grpc_helpers.string_field(8)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class AssetInstrument(_grpc_helpers.Message):
|
|
uid: str = _grpc_helpers.string_field(1)
|
|
figi: str = _grpc_helpers.string_field(2)
|
|
instrument_type: str = _grpc_helpers.string_field(3)
|
|
ticker: str = _grpc_helpers.string_field(4)
|
|
class_code: str = _grpc_helpers.string_field(5)
|
|
links: List["InstrumentLink"] = _grpc_helpers.message_field(6)
|
|
instrument_kind: "InstrumentType" = _grpc_helpers.enum_field(10)
|
|
position_uid: str = _grpc_helpers.string_field(11)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class InstrumentLink(_grpc_helpers.Message):
|
|
type: str = _grpc_helpers.string_field(1)
|
|
instrument_uid: str = _grpc_helpers.string_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetFavoritesRequest(_grpc_helpers.Message):
|
|
group_id: Optional[str] = _grpc_helpers.string_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetFavoritesResponse(_grpc_helpers.Message):
|
|
favorite_instruments: List["FavoriteInstrument"] = _grpc_helpers.message_field(1)
|
|
group_id: Optional[str] = _grpc_helpers.string_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class FavoriteInstrument(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
ticker: str = _grpc_helpers.string_field(2)
|
|
class_code: str = _grpc_helpers.string_field(3)
|
|
isin: str = _grpc_helpers.string_field(4)
|
|
instrument_type: str = _grpc_helpers.string_field(11)
|
|
name: str = _grpc_helpers.string_field(12)
|
|
uid: str = _grpc_helpers.string_field(13)
|
|
otc_flag: bool = _grpc_helpers.bool_field(16)
|
|
api_trade_available_flag: bool = _grpc_helpers.bool_field(17)
|
|
instrument_kind: "InstrumentType" = _grpc_helpers.enum_field(18)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class EditFavoritesRequest(_grpc_helpers.Message):
|
|
instruments: List["EditFavoritesRequestInstrument"] = _grpc_helpers.message_field(1)
|
|
action_type: "EditFavoritesActionType" = _grpc_helpers.enum_field(6)
|
|
group_id: Optional[str] = _grpc_helpers.string_field(7)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class EditFavoritesRequestInstrument(_grpc_helpers.Message):
|
|
figi: Optional[str] = _grpc_helpers.string_field(1)
|
|
instrument_id: str = _grpc_helpers.string_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class EditFavoritesResponse(_grpc_helpers.Message):
|
|
favorite_instruments: List["FavoriteInstrument"] = _grpc_helpers.message_field(1)
|
|
group_id: Optional[str] = _grpc_helpers.string_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class CreateFavoriteGroupRequest(_grpc_helpers.Message):
|
|
group_name: str = _grpc_helpers.string_field(1)
|
|
group_color: str = _grpc_helpers.string_field(2)
|
|
note: Optional[str] = _grpc_helpers.string_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class CreateFavoriteGroupResponse(_grpc_helpers.Message):
|
|
group_id: str = _grpc_helpers.string_field(1)
|
|
group_name: str = _grpc_helpers.string_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class DeleteFavoriteGroupRequest(_grpc_helpers.Message):
|
|
group_id: str = _grpc_helpers.string_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class DeleteFavoriteGroupResponse(_grpc_helpers.Message):
|
|
pass
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetFavoriteGroupsRequest(_grpc_helpers.Message):
|
|
instrument_id: List[str] = _grpc_helpers.string_field(1)
|
|
excluded_group_id: List[str] = _grpc_helpers.string_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetFavoriteGroupsResponse(_grpc_helpers.Message):
|
|
groups: List["FavoriteGroup"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class FavoriteGroup(_grpc_helpers.Message):
|
|
group_id: str = _grpc_helpers.string_field(1)
|
|
group_name: str = _grpc_helpers.string_field(2)
|
|
color: str = _grpc_helpers.string_field(3)
|
|
size: int = _grpc_helpers.int32_field(4)
|
|
contains_instrument: Optional[bool] = _grpc_helpers.message_field(5)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetCountriesRequest(_grpc_helpers.Message):
|
|
pass
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetCountriesResponse(_grpc_helpers.Message):
|
|
countries: List["CountryResponse"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class IndicativesRequest(_grpc_helpers.Message):
|
|
pass
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class IndicativeResponse(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
ticker: str = _grpc_helpers.string_field(2)
|
|
class_code: str = _grpc_helpers.string_field(3)
|
|
currency: str = _grpc_helpers.string_field(4)
|
|
instrument_kind: "InstrumentType" = _grpc_helpers.enum_field(10)
|
|
name: str = _grpc_helpers.string_field(12)
|
|
exchange: str = _grpc_helpers.string_field(13)
|
|
uid: str = _grpc_helpers.string_field(14)
|
|
buy_available_flag: bool = _grpc_helpers.bool_field(404)
|
|
sell_available_flag: bool = _grpc_helpers.bool_field(405)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class IndicativesResponse(_grpc_helpers.Message):
|
|
instruments: List["IndicativeResponse"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class CountryResponse(_grpc_helpers.Message):
|
|
alfa_two: str = _grpc_helpers.string_field(1)
|
|
alfa_three: str = _grpc_helpers.string_field(2)
|
|
name: str = _grpc_helpers.string_field(3)
|
|
name_brief: str = _grpc_helpers.string_field(4)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class FindInstrumentRequest(_grpc_helpers.Message):
|
|
query: str = _grpc_helpers.string_field(1)
|
|
instrument_kind: Optional["InstrumentType"] = _grpc_helpers.enum_field(2)
|
|
api_trade_available_flag: Optional[bool] = _grpc_helpers.bool_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class FindInstrumentResponse(_grpc_helpers.Message):
|
|
instruments: List["InstrumentShort"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class InstrumentShort(_grpc_helpers.Message):
|
|
isin: str = _grpc_helpers.string_field(1)
|
|
figi: str = _grpc_helpers.string_field(2)
|
|
ticker: str = _grpc_helpers.string_field(3)
|
|
class_code: str = _grpc_helpers.string_field(4)
|
|
instrument_type: str = _grpc_helpers.string_field(5)
|
|
name: str = _grpc_helpers.string_field(6)
|
|
uid: str = _grpc_helpers.string_field(7)
|
|
position_uid: str = _grpc_helpers.string_field(8)
|
|
instrument_kind: "InstrumentType" = _grpc_helpers.enum_field(10)
|
|
api_trade_available_flag: str = _grpc_helpers.string_field(11)
|
|
for_iis_flag: bool = _grpc_helpers.bool_field(12)
|
|
first_1min_candle_date: datetime = _grpc_helpers.message_field(26)
|
|
first_1day_candle_date: datetime = _grpc_helpers.message_field(27)
|
|
for_qual_investor_flag: bool = _grpc_helpers.bool_field(28)
|
|
weekend_flag: bool = _grpc_helpers.bool_field(29)
|
|
blocked_tca_flag: bool = _grpc_helpers.bool_field(30)
|
|
lot: int = _grpc_helpers.int32_field(31)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetBrandsRequest(_grpc_helpers.Message):
|
|
paging: "Page" = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetBrandRequest(_grpc_helpers.Message):
|
|
id: str = _grpc_helpers.string_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetBrandsResponse(_grpc_helpers.Message):
|
|
brands: List["Brand"] = _grpc_helpers.message_field(1)
|
|
paging: "PageResponse" = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class MarketDataRequest(_grpc_helpers.Message):
|
|
subscribe_candles_request: "SubscribeCandlesRequest" = _grpc_helpers.message_field(
|
|
1, group="payload"
|
|
)
|
|
subscribe_order_book_request: "SubscribeOrderBookRequest" = (
|
|
_grpc_helpers.message_field(2, group="payload")
|
|
)
|
|
subscribe_trades_request: "SubscribeTradesRequest" = _grpc_helpers.message_field(
|
|
3, group="payload"
|
|
)
|
|
subscribe_info_request: "SubscribeInfoRequest" = _grpc_helpers.message_field(
|
|
4, group="payload"
|
|
)
|
|
subscribe_last_price_request: "SubscribeLastPriceRequest" = (
|
|
_grpc_helpers.message_field(5, group="payload")
|
|
)
|
|
get_my_subscriptions: "GetMySubscriptions" = _grpc_helpers.message_field(
|
|
6, group="payload"
|
|
)
|
|
ping: "PingRequest" = _grpc_helpers.message_field(7, group="payload")
|
|
ping_settings: "PingDelaySettings" = _grpc_helpers.message_field(
|
|
15, group="payload"
|
|
)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class MarketDataServerSideStreamRequest(_grpc_helpers.Message):
|
|
subscribe_candles_request: "SubscribeCandlesRequest" = _grpc_helpers.message_field(
|
|
1
|
|
)
|
|
subscribe_order_book_request: "SubscribeOrderBookRequest" = (
|
|
_grpc_helpers.message_field(2)
|
|
)
|
|
subscribe_trades_request: "SubscribeTradesRequest" = _grpc_helpers.message_field(3)
|
|
subscribe_info_request: "SubscribeInfoRequest" = _grpc_helpers.message_field(4)
|
|
subscribe_last_price_request: "SubscribeLastPriceRequest" = (
|
|
_grpc_helpers.message_field(5)
|
|
)
|
|
ping_settings: "PingDelaySettings" = _grpc_helpers.message_field(15)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class MarketDataResponse(
|
|
_grpc_helpers.Message
|
|
): # pylint:disable=too-many-instance-attributes
|
|
subscribe_candles_response: "SubscribeCandlesResponse" = (
|
|
_grpc_helpers.message_field(1, group="payload")
|
|
)
|
|
subscribe_order_book_response: "SubscribeOrderBookResponse" = (
|
|
_grpc_helpers.message_field(2, group="payload")
|
|
)
|
|
subscribe_trades_response: "SubscribeTradesResponse" = _grpc_helpers.message_field(
|
|
3, group="payload"
|
|
)
|
|
subscribe_info_response: "SubscribeInfoResponse" = _grpc_helpers.message_field(
|
|
4, group="payload"
|
|
)
|
|
candle: "Candle" = _grpc_helpers.message_field(5, group="payload")
|
|
trade: "Trade" = _grpc_helpers.message_field(6, group="payload")
|
|
orderbook: "OrderBook" = _grpc_helpers.message_field(7, group="payload")
|
|
trading_status: "TradingStatus" = _grpc_helpers.message_field(8, group="payload")
|
|
ping: "Ping" = _grpc_helpers.message_field(9, group="payload")
|
|
subscribe_last_price_response: "SubscribeLastPriceResponse" = (
|
|
_grpc_helpers.message_field(10, group="payload")
|
|
)
|
|
last_price: "LastPrice" = _grpc_helpers.message_field(11, group="payload")
|
|
open_interest: "OpenInterest" = _grpc_helpers.message_field(12, group="payload")
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class SubscribeCandlesRequest(_grpc_helpers.Message):
|
|
subscription_action: "SubscriptionAction" = _grpc_helpers.enum_field(1)
|
|
instruments: List["CandleInstrument"] = _grpc_helpers.message_field(2)
|
|
waiting_close: bool = _grpc_helpers.bool_field(3)
|
|
candle_source_type: "CandleSource" = _grpc_helpers.enum_field(9)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class CandleInstrument(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
interval: "SubscriptionInterval" = _grpc_helpers.enum_field(2)
|
|
instrument_id: str = _grpc_helpers.string_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class SubscribeCandlesResponse(_grpc_helpers.Message):
|
|
tracking_id: str = _grpc_helpers.string_field(1)
|
|
candles_subscriptions: List["CandleSubscription"] = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class CandleSubscription(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
interval: "SubscriptionInterval" = _grpc_helpers.enum_field(2)
|
|
subscription_status: "SubscriptionStatus" = _grpc_helpers.enum_field(3)
|
|
instrument_uid: str = _grpc_helpers.string_field(4)
|
|
waiting_close: bool = _grpc_helpers.bool_field(5)
|
|
stream_id: str = _grpc_helpers.string_field(6)
|
|
subscription_id: str = _grpc_helpers.string_field(7)
|
|
subscription_action: "SubscriptionAction" = _grpc_helpers.enum_field(8)
|
|
candle_source_type: Optional["CandleSource"] = _grpc_helpers.enum_field(
|
|
9, optional=True
|
|
)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class SubscribeOrderBookRequest(_grpc_helpers.Message):
|
|
subscription_action: "SubscriptionAction" = _grpc_helpers.enum_field(1)
|
|
instruments: List["OrderBookInstrument"] = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OrderBookInstrument(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
depth: int = _grpc_helpers.int32_field(2)
|
|
instrument_id: str = _grpc_helpers.string_field(3)
|
|
order_book_type: "OrderBookType" = _grpc_helpers.message_field(4)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class SubscribeOrderBookResponse(_grpc_helpers.Message):
|
|
tracking_id: str = _grpc_helpers.string_field(1)
|
|
order_book_subscriptions: List[
|
|
"OrderBookSubscription"
|
|
] = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OrderBookSubscription(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
depth: int = _grpc_helpers.int32_field(2)
|
|
subscription_status: "SubscriptionStatus" = _grpc_helpers.enum_field(3)
|
|
instrument_uid: str = _grpc_helpers.string_field(4)
|
|
stream_id: str = _grpc_helpers.string_field(5)
|
|
subscription_id: str = _grpc_helpers.string_field(6)
|
|
order_book_type: "OrderBookType" = _grpc_helpers.message_field(7)
|
|
subscription_action: "SubscriptionAction" = _grpc_helpers.enum_field(8)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class SubscribeTradesRequest(_grpc_helpers.Message):
|
|
subscription_action: "SubscriptionAction" = _grpc_helpers.enum_field(1)
|
|
instruments: List["TradeInstrument"] = _grpc_helpers.message_field(2)
|
|
trade_source: "TradeSourceType" = _grpc_helpers.message_field(3)
|
|
with_open_interest: bool = _grpc_helpers.bool_field(4)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class SubscribeLastPriceRequest(_grpc_helpers.Message):
|
|
subscription_action: "SubscriptionAction" = _grpc_helpers.message_field(1)
|
|
instruments: List["LastPriceInstrument"] = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class LastPriceInstrument(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
instrument_id: str = _grpc_helpers.string_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class SubscribeLastPriceResponse(_grpc_helpers.Message):
|
|
tracking_id: str = _grpc_helpers.string_field(1)
|
|
last_price_subscriptions: List[
|
|
"LastPriceSubscription"
|
|
] = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class LastPriceSubscription(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
subscription_status: "SubscriptionStatus" = _grpc_helpers.message_field(2)
|
|
instrument_uid: str = _grpc_helpers.string_field(3)
|
|
stream_id: str = _grpc_helpers.string_field(4)
|
|
subscription_id: str = _grpc_helpers.string_field(5)
|
|
subscription_action: "SubscriptionAction" = _grpc_helpers.message_field(6)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class TradeInstrument(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
instrument_id: str = _grpc_helpers.string_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class SubscribeTradesResponse(_grpc_helpers.Message):
|
|
tracking_id: str = _grpc_helpers.string_field(1)
|
|
trade_subscriptions: List["TradeSubscription"] = _grpc_helpers.message_field(2)
|
|
trade_source: "TradeSourceType" = _grpc_helpers.message_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class TradeSubscription(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
subscription_status: "SubscriptionStatus" = _grpc_helpers.enum_field(2)
|
|
instrument_uid: str = _grpc_helpers.string_field(3)
|
|
stream_id: str = _grpc_helpers.string_field(4)
|
|
subscription_id: str = _grpc_helpers.string_field(5)
|
|
with_open_interest: bool = _grpc_helpers.bool_field(6)
|
|
subscription_action: "SubscriptionAction" = _grpc_helpers.enum_field(7)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class SubscribeInfoRequest(_grpc_helpers.Message):
|
|
subscription_action: "SubscriptionAction" = _grpc_helpers.enum_field(1)
|
|
instruments: List["InfoInstrument"] = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class InfoInstrument(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
instrument_id: str = _grpc_helpers.string_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class SubscribeInfoResponse(_grpc_helpers.Message):
|
|
tracking_id: str = _grpc_helpers.string_field(1)
|
|
info_subscriptions: List["InfoSubscription"] = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class InfoSubscription(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
subscription_status: "SubscriptionStatus" = _grpc_helpers.enum_field(2)
|
|
instrument_uid: str = _grpc_helpers.string_field(3)
|
|
stream_id: str = _grpc_helpers.string_field(4)
|
|
subscription_id: str = _grpc_helpers.string_field(5)
|
|
subscription_action: "SubscriptionAction" = _grpc_helpers.enum_field(6)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Candle(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
interval: "SubscriptionInterval" = _grpc_helpers.enum_field(2)
|
|
open: "Quotation" = _grpc_helpers.message_field(3)
|
|
high: "Quotation" = _grpc_helpers.message_field(4)
|
|
low: "Quotation" = _grpc_helpers.message_field(5)
|
|
close: "Quotation" = _grpc_helpers.message_field(6)
|
|
volume: int = _grpc_helpers.int64_field(7)
|
|
time: datetime = _grpc_helpers.message_field(8)
|
|
last_trade_ts: datetime = _grpc_helpers.message_field(9)
|
|
instrument_uid: str = _grpc_helpers.string_field(10)
|
|
ticker: str = _grpc_helpers.string_field(11)
|
|
class_code: str = _grpc_helpers.string_field(12)
|
|
volume_buy: int = _grpc_helpers.int64_field(13)
|
|
volume_sell: int = _grpc_helpers.int64_field(14)
|
|
candle_source_type: "CandleSource" = _grpc_helpers.enum_field(19)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OrderBook(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
depth: int = _grpc_helpers.int32_field(2)
|
|
is_consistent: bool = _grpc_helpers.bool_field(3)
|
|
bids: List["Order"] = _grpc_helpers.message_field(4)
|
|
asks: List["Order"] = _grpc_helpers.message_field(5)
|
|
time: datetime = _grpc_helpers.message_field(6)
|
|
limit_up: "Quotation" = _grpc_helpers.message_field(7)
|
|
limit_down: "Quotation" = _grpc_helpers.message_field(8)
|
|
instrument_uid: str = _grpc_helpers.string_field(9)
|
|
order_book_type: "OrderBookType" = _grpc_helpers.message_field(10)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Order(_grpc_helpers.Message):
|
|
price: "Quotation" = _grpc_helpers.message_field(1)
|
|
quantity: int = _grpc_helpers.int64_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Trade(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
direction: "TradeDirection" = _grpc_helpers.enum_field(2)
|
|
price: "Quotation" = _grpc_helpers.message_field(3)
|
|
quantity: int = _grpc_helpers.int64_field(4)
|
|
time: datetime = _grpc_helpers.message_field(5)
|
|
instrument_uid: str = _grpc_helpers.string_field(6)
|
|
trade_source: TradeSourceType = _grpc_helpers.message_field(7)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class TradingStatus(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
trading_status: "SecurityTradingStatus" = _grpc_helpers.enum_field(2)
|
|
time: datetime = _grpc_helpers.enum_field(3)
|
|
limit_order_available_flag: bool = _grpc_helpers.bool_field(4)
|
|
market_order_available_flag: bool = _grpc_helpers.bool_field(5)
|
|
instrument_uid: str = _grpc_helpers.string_field(6)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetCandlesRequest(_grpc_helpers.Message):
|
|
figi: Optional[str] = _grpc_helpers.string_field(1)
|
|
from_: datetime = _grpc_helpers.message_field(2)
|
|
to: datetime = _grpc_helpers.message_field(3)
|
|
interval: "CandleInterval" = _grpc_helpers.enum_field(4)
|
|
instrument_id: Optional[str] = _grpc_helpers.string_field(5)
|
|
candle_source_type: Optional[CandleSource] = _grpc_helpers.string_field(7)
|
|
limit: Optional[int] = _grpc_helpers.int32_field(10)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetCandlesResponse(_grpc_helpers.Message):
|
|
candles: List["HistoricCandle"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=True, repr=True, frozen=True)
|
|
class HistoricCandle(_grpc_helpers.Message):
|
|
open: Quotation = _grpc_helpers.message_field(1)
|
|
high: Quotation = _grpc_helpers.message_field(2)
|
|
low: Quotation = _grpc_helpers.message_field(3)
|
|
close: Quotation = _grpc_helpers.message_field(4)
|
|
volume: int = _grpc_helpers.int64_field(5)
|
|
time: datetime = _grpc_helpers.message_field(6)
|
|
is_complete: bool = _grpc_helpers.bool_field(7)
|
|
candle_source: CandleSource = _grpc_helpers.message_field(9)
|
|
volume_buy: int = _grpc_helpers.int64_field(10)
|
|
volume_sell: int = _grpc_helpers.int64_field(11)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetLastPricesRequest(_grpc_helpers.Message):
|
|
figi: List[str] = _grpc_helpers.string_field(1)
|
|
instrument_id: List[str] = _grpc_helpers.string_field(2)
|
|
last_price_type: LastPriceType = _grpc_helpers.message_field(3)
|
|
instrument_status: Optional["InstrumentStatus"] = _grpc_helpers.enum_field(9)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetLastPricesResponse(_grpc_helpers.Message):
|
|
last_prices: List["LastPrice"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class LastPrice(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
price: "Quotation" = _grpc_helpers.message_field(2)
|
|
time: datetime = _grpc_helpers.message_field(3)
|
|
instrument_uid: str = _grpc_helpers.string_field(11)
|
|
last_price_type: LastPriceType = _grpc_helpers.message_field(12)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OpenInterest(_grpc_helpers.Message):
|
|
instrument_uid: str = _grpc_helpers.string_field(1)
|
|
time: datetime = _grpc_helpers.message_field(2)
|
|
open_interest: int = _grpc_helpers.int64_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetOrderBookRequest(_grpc_helpers.Message):
|
|
figi: Optional[str] = _grpc_helpers.string_field(1)
|
|
depth: int = _grpc_helpers.int32_field(2)
|
|
instrument_id: Optional[str] = _grpc_helpers.string_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetOrderBookResponse(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
depth: int = _grpc_helpers.int32_field(2)
|
|
bids: List["Order"] = _grpc_helpers.message_field(3)
|
|
asks: List["Order"] = _grpc_helpers.message_field(4)
|
|
last_price: "Quotation" = _grpc_helpers.message_field(5)
|
|
close_price: "Quotation" = _grpc_helpers.message_field(6)
|
|
limit_up: "Quotation" = _grpc_helpers.message_field(7)
|
|
limit_down: "Quotation" = _grpc_helpers.message_field(8)
|
|
last_price_ts: datetime = _grpc_helpers.message_field(21)
|
|
close_price_ts: datetime = _grpc_helpers.message_field(22)
|
|
orderbook_ts: datetime = _grpc_helpers.message_field(23)
|
|
instrument_uid: str = _grpc_helpers.string_field(9)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetTradingStatusRequest(_grpc_helpers.Message):
|
|
figi: Optional[str] = _grpc_helpers.string_field(1)
|
|
instrument_id: Optional[str] = _grpc_helpers.string_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetTradingStatusesRequest(_grpc_helpers.Message):
|
|
instrument_id: List[str] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetTradingStatusesResponse(_grpc_helpers.Message):
|
|
trading_statuses: List["GetTradingStatusResponse"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetTradingStatusResponse(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
trading_status: "SecurityTradingStatus" = _grpc_helpers.enum_field(2)
|
|
limit_order_available_flag: bool = _grpc_helpers.bool_field(3)
|
|
market_order_available_flag: bool = _grpc_helpers.bool_field(4)
|
|
api_trade_available_flag: bool = _grpc_helpers.bool_field(5)
|
|
instrument_uid: str = _grpc_helpers.string_field(6)
|
|
|
|
bestprice_order_available_flag: bool = _grpc_helpers.bool_field(8)
|
|
only_best_price: bool = _grpc_helpers.bool_field(9)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetLastTradesRequest(_grpc_helpers.Message):
|
|
figi: Optional[str] = _grpc_helpers.string_field(1)
|
|
from_: datetime = _grpc_helpers.message_field(2)
|
|
to: datetime = _grpc_helpers.message_field(3)
|
|
instrument_id: Optional[str] = _grpc_helpers.string_field(4)
|
|
trade_source: TradeSourceType = _grpc_helpers.enum_field(5)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetLastTradesResponse(_grpc_helpers.Message):
|
|
trades: List["Trade"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetMySubscriptions(_grpc_helpers.Message):
|
|
pass
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetClosePricesRequest(_grpc_helpers.Message):
|
|
instruments: List["InstrumentClosePriceRequest"] = _grpc_helpers.message_field(1)
|
|
instrument_status: Optional["InstrumentStatus"] = _grpc_helpers.enum_field(9)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class InstrumentClosePriceRequest(_grpc_helpers.Message):
|
|
instrument_id: str = _grpc_helpers.string_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetClosePricesResponse(_grpc_helpers.Message):
|
|
close_prices: List["InstrumentClosePriceResponse"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class InstrumentClosePriceResponse(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
instrument_uid: str = _grpc_helpers.string_field(2)
|
|
price: "Quotation" = _grpc_helpers.message_field(11)
|
|
evening_session_price: "Quotation" = _grpc_helpers.message_field(12)
|
|
time: datetime = _grpc_helpers.message_field(21)
|
|
evening_session_price_time: datetime = _grpc_helpers.message_field(23)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetMarketValuesRequest(_grpc_helpers.Message):
|
|
instrument_id: List[str] = _grpc_helpers.message_field(1)
|
|
values: List["MarketValueType"] = _grpc_helpers.message_field(2)
|
|
|
|
|
|
class MarketValueType(_grpc_helpers.Enum):
|
|
INSTRUMENT_VALUE_UNSPECIFIED = 0
|
|
INSTRUMENT_VALUE_LAST_PRICE = 1
|
|
INSTRUMENT_VALUE_LAST_PRICE_DEALER = 2
|
|
INSTRUMENT_VALUE_CLOSE_PRICE = 3
|
|
INSTRUMENT_VALUE_EVENING_SESSION_PRICE = 4
|
|
INSTRUMENT_VALUE_OPEN_INTEREST = 5
|
|
INSTRUMENT_VALUE_THEOR_PRICE = 6
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetMarketValuesResponse(_grpc_helpers.Message):
|
|
instruments: List["MarketValueInstrument"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class MarketValueInstrument(_grpc_helpers.Message):
|
|
instrument_uid: str = _grpc_helpers.string_field(1)
|
|
values: List["MarketValue"] = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class MarketValue(_grpc_helpers.Message):
|
|
type: "MarketValueType" = _grpc_helpers.enum_field(1)
|
|
value: "Quotation" = _grpc_helpers.message_field(2)
|
|
time: datetime = _grpc_helpers.message_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Smoothing(_grpc_helpers.Message):
|
|
fast_length: int = _grpc_helpers.int32_field(1)
|
|
slow_length: int = _grpc_helpers.int32_field(2)
|
|
signal_smoothing: int = _grpc_helpers.int32_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Deviation(_grpc_helpers.Message):
|
|
deviation_multiplier: "Quotation" = _grpc_helpers.message_field(1)
|
|
|
|
|
|
class IndicatorInterval(_grpc_helpers.Enum):
|
|
INDICATOR_INTERVAL_UNSPECIFIED = 0
|
|
INDICATOR_INTERVAL_ONE_MINUTE = 1
|
|
INDICATOR_INTERVAL_FIVE_MINUTES = 2
|
|
INDICATOR_INTERVAL_FIFTEEN_MINUTES = 3
|
|
INDICATOR_INTERVAL_ONE_HOUR = 4
|
|
INDICATOR_INTERVAL_ONE_DAY = 5
|
|
INDICATOR_INTERVAL_2_MIN = 6
|
|
INDICATOR_INTERVAL_3_MIN = 7
|
|
INDICATOR_INTERVAL_10_MIN = 8
|
|
INDICATOR_INTERVAL_30_MIN = 9
|
|
INDICATOR_INTERVAL_2_HOUR = 10
|
|
INDICATOR_INTERVAL_4_HOUR = 11
|
|
INDICATOR_INTERVAL_WEEK = 12
|
|
INDICATOR_INTERVAL_MONTH = 13
|
|
|
|
|
|
class TypeOfPrice(_grpc_helpers.Enum):
|
|
TYPE_OF_PRICE_UNSPECIFIED = 0
|
|
TYPE_OF_PRICE_CLOSE = 1
|
|
TYPE_OF_PRICE_OPEN = 2
|
|
TYPE_OF_PRICE_HIGH = 3
|
|
TYPE_OF_PRICE_LOW = 4
|
|
TYPE_OF_PRICE_AVG = 5
|
|
|
|
|
|
class IndicatorType(_grpc_helpers.Enum):
|
|
INDICATOR_TYPE_UNSPECIFIED = 0
|
|
INDICATOR_TYPE_BB = 1
|
|
INDICATOR_TYPE_EMA = 2
|
|
INDICATOR_TYPE_RSI = 3
|
|
INDICATOR_TYPE_MACD = 4
|
|
INDICATOR_TYPE_SMA = 5
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetTechAnalysisRequest(_grpc_helpers.Message):
|
|
indicator_type: "IndicatorType" = _grpc_helpers.enum_field(1)
|
|
instrument_uid: str = _grpc_helpers.string_field(2)
|
|
from_: datetime = _grpc_helpers.message_field(3)
|
|
to: datetime = _grpc_helpers.message_field(4)
|
|
interval: "IndicatorInterval" = _grpc_helpers.enum_field(5)
|
|
type_of_price: "TypeOfPrice" = _grpc_helpers.enum_field(6)
|
|
length: int = _grpc_helpers.int32_field(7)
|
|
deviation: "Deviation" = _grpc_helpers.message_field(8)
|
|
smoothing: "Smoothing" = _grpc_helpers.message_field(9)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class TechAnalysisItem(_grpc_helpers.Message):
|
|
timestamp: datetime = _grpc_helpers.message_field(1)
|
|
middle_band: Optional["Quotation"] = _grpc_helpers.message_field(2, optional=True)
|
|
upper_band: Optional["Quotation"] = _grpc_helpers.message_field(3, optional=True)
|
|
lower_band: Optional["Quotation"] = _grpc_helpers.message_field(4, optional=True)
|
|
signal: Optional["Quotation"] = _grpc_helpers.message_field(5, optional=True)
|
|
macd: Optional["Quotation"] = _grpc_helpers.message_field(6, optional=True)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetTechAnalysisResponse(_grpc_helpers.Message):
|
|
technical_indicators: List["TechAnalysisItem"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OperationsRequest(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
from_: Optional[datetime] = _grpc_helpers.message_field(2)
|
|
to: Optional[datetime] = _grpc_helpers.message_field(3)
|
|
state: Optional["OperationState"] = _grpc_helpers.enum_field(4)
|
|
figi: Optional[str] = _grpc_helpers.string_field(5)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OperationsResponse(_grpc_helpers.Message):
|
|
operations: List["Operation"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OperationTrade(_grpc_helpers.Message):
|
|
trade_id: str = _grpc_helpers.string_field(1)
|
|
date_time: datetime = _grpc_helpers.message_field(2)
|
|
quantity: int = _grpc_helpers.int64_field(3)
|
|
price: "MoneyValue" = _grpc_helpers.message_field(4)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class ChildOperationItem(_grpc_helpers.Message):
|
|
instrument_uid: str = _grpc_helpers.string_field(1)
|
|
payment: "MoneyValue" = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OperationsStreamRequest(_grpc_helpers.Message):
|
|
accounts: List[str] = _grpc_helpers.message_field(1)
|
|
ping_settings: "PingDelaySettings" = _grpc_helpers.message_field(15)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OperationsStreamResponse(_grpc_helpers.Message):
|
|
subscriptions: "OperationsSubscriptionResult" = _grpc_helpers.message_field(
|
|
1, group="payload"
|
|
)
|
|
operation: "OperationData" = _grpc_helpers.message_field(2, group="payload")
|
|
ping: "Ping" = _grpc_helpers.message_field(3, group="payload")
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OperationsSubscriptionResult(_grpc_helpers.Message):
|
|
accounts: List[str] = _grpc_helpers.message_field(1)
|
|
subscription_status: "OperationsAccountSubscriptionStatus" = (
|
|
_grpc_helpers.enum_field(2)
|
|
)
|
|
tracking_id: str = _grpc_helpers.string_field(7)
|
|
stream_id: str = _grpc_helpers.string_field(8)
|
|
|
|
|
|
class OperationsAccountSubscriptionStatus(_grpc_helpers.Enum):
|
|
OPERATIONS_SUBSCRIPTION_STATUS_UNSPECIFIED = 0
|
|
OPERATIONS_SUBSCRIPTION_STATUS_SUCCESS = 1
|
|
OPERATIONS_SUBSCRIPTION_STATUS_ACCOUNT_NOT_FOUND = 2
|
|
OPERATIONS_SUBSCRIPTION_STATUS_INTERNAL_ERROR = 3
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OperationData(_grpc_helpers.Message):
|
|
broker_account_id: str = _grpc_helpers.string_field(1)
|
|
id: str = _grpc_helpers.string_field(2)
|
|
parent_operation_id: str = _grpc_helpers.string_field(3)
|
|
name: str = _grpc_helpers.string_field(4)
|
|
date: datetime = _grpc_helpers.message_field(5)
|
|
type: "OperationType" = _grpc_helpers.enum_field(6)
|
|
state: "OperationState" = _grpc_helpers.enum_field(7)
|
|
instrument_uid: str = _grpc_helpers.string_field(8)
|
|
figi: str = _grpc_helpers.string_field(9)
|
|
instrument_type: str = _grpc_helpers.string_field(10)
|
|
instrument_kind: InstrumentType = _grpc_helpers.enum_field(11)
|
|
position_uid: str = _grpc_helpers.string_field(12)
|
|
ticker: str = _grpc_helpers.string_field(13)
|
|
class_code: str = _grpc_helpers.string_field(14)
|
|
payment: MoneyValue = _grpc_helpers.message_field(15)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Operation(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
|
|
id: str = _grpc_helpers.string_field(1)
|
|
parent_operation_id: str = _grpc_helpers.string_field(2)
|
|
currency: str = _grpc_helpers.string_field(3)
|
|
payment: "MoneyValue" = _grpc_helpers.message_field(4)
|
|
price: "MoneyValue" = _grpc_helpers.message_field(5)
|
|
state: "OperationState" = _grpc_helpers.enum_field(6)
|
|
quantity: int = _grpc_helpers.int64_field(7)
|
|
quantity_rest: int = _grpc_helpers.int64_field(8)
|
|
figi: str = _grpc_helpers.string_field(9)
|
|
instrument_type: str = _grpc_helpers.string_field(10)
|
|
date: datetime = _grpc_helpers.message_field(11)
|
|
type: str = _grpc_helpers.string_field(12)
|
|
operation_type: "OperationType" = _grpc_helpers.enum_field(13)
|
|
trades: List["OperationTrade"] = _grpc_helpers.message_field(14)
|
|
asset_uid: str = _grpc_helpers.string_field(16)
|
|
position_uid: str = _grpc_helpers.string_field(17)
|
|
instrument_uid: str = _grpc_helpers.string_field(18)
|
|
child_operations: List["ChildOperationItem"] = _grpc_helpers.message_field(19)
|
|
|
|
|
|
class CurrencyRequest(_grpc_helpers.Enum):
|
|
RUB = 0
|
|
USD = 1
|
|
EUR = 2
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PortfolioRequest(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
currency: Optional[CurrencyRequest] = _grpc_helpers.enum_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class VirtualPortfolioPosition(_grpc_helpers.Message):
|
|
position_uid: str = _grpc_helpers.string_field(1)
|
|
instrument_uid: str = _grpc_helpers.string_field(2)
|
|
figi: str = _grpc_helpers.string_field(3)
|
|
instrument_type: str = _grpc_helpers.string_field(4)
|
|
quantity: "Quotation" = _grpc_helpers.message_field(5)
|
|
average_position_price: "MoneyValue" = _grpc_helpers.message_field(6)
|
|
expected_yield: "Quotation" = _grpc_helpers.message_field(7)
|
|
expected_yield_fifo: "Quotation" = _grpc_helpers.message_field(8)
|
|
expire_date: datetime = _grpc_helpers.message_field(9)
|
|
current_price: "MoneyValue" = _grpc_helpers.message_field(10)
|
|
average_position_price_fifo: "MoneyValue" = _grpc_helpers.message_field(11)
|
|
daily_yield: "MoneyValue" = _grpc_helpers.message_field(31)
|
|
ticker: str = _grpc_helpers.string_field(32)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PortfolioResponse(_grpc_helpers.Message):
|
|
total_amount_shares: "MoneyValue" = _grpc_helpers.message_field(1)
|
|
total_amount_bonds: "MoneyValue" = _grpc_helpers.message_field(2)
|
|
total_amount_etf: "MoneyValue" = _grpc_helpers.message_field(3)
|
|
total_amount_currencies: "MoneyValue" = _grpc_helpers.message_field(4)
|
|
total_amount_futures: "MoneyValue" = _grpc_helpers.message_field(5)
|
|
expected_yield: "Quotation" = _grpc_helpers.message_field(6)
|
|
positions: List["PortfolioPosition"] = _grpc_helpers.message_field(7)
|
|
account_id: str = _grpc_helpers.string_field(8)
|
|
|
|
total_amount_options: MoneyValue = _grpc_helpers.message_field(9)
|
|
total_amount_sp: MoneyValue = _grpc_helpers.message_field(10)
|
|
total_amount_portfolio: MoneyValue = _grpc_helpers.message_field(11)
|
|
virtual_positions: List["VirtualPortfolioPosition"] = _grpc_helpers.message_field(
|
|
12
|
|
)
|
|
daily_yield: MoneyValue = _grpc_helpers.message_field(15)
|
|
daily_yield_relative: Quotation = _grpc_helpers.message_field(16)
|
|
total_amount_dfa: MoneyValue = _grpc_helpers.message_field(17)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PositionsRequest(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PositionsResponse(_grpc_helpers.Message):
|
|
money: List["MoneyValue"] = _grpc_helpers.message_field(1)
|
|
blocked: List["MoneyValue"] = _grpc_helpers.message_field(2)
|
|
securities: List["PositionsSecurities"] = _grpc_helpers.message_field(3)
|
|
limits_loading_in_progress: bool = _grpc_helpers.bool_field(4)
|
|
futures: List["PositionsFutures"] = _grpc_helpers.bool_field(5)
|
|
options: List["PositionsOptions"] = _grpc_helpers.bool_field(6)
|
|
account_id: str = _grpc_helpers.string_field(15)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class WithdrawLimitsRequest(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class WithdrawLimitsResponse(_grpc_helpers.Message):
|
|
money: List["MoneyValue"] = _grpc_helpers.message_field(1)
|
|
blocked: List["MoneyValue"] = _grpc_helpers.message_field(2)
|
|
blocked_guarantee: List["MoneyValue"] = _grpc_helpers.message_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PortfolioPosition(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
instrument_type: str = _grpc_helpers.string_field(2)
|
|
quantity: "Quotation" = _grpc_helpers.message_field(3)
|
|
average_position_price: "MoneyValue" = _grpc_helpers.message_field(4)
|
|
expected_yield: "Quotation" = _grpc_helpers.message_field(5)
|
|
current_nkd: "MoneyValue" = _grpc_helpers.message_field(6)
|
|
average_position_price_pt: "Quotation" = _grpc_helpers.message_field(7)
|
|
current_price: "MoneyValue" = _grpc_helpers.message_field(8)
|
|
average_position_price_fifo: "MoneyValue" = _grpc_helpers.message_field(9)
|
|
quantity_lots: "Quotation" = _grpc_helpers.message_field(10)
|
|
blocked: bool = _grpc_helpers.bool_field(21)
|
|
blocked_lots: "Quotation" = _grpc_helpers.message_field(22)
|
|
position_uid: str = _grpc_helpers.string_field(24)
|
|
instrument_uid: str = _grpc_helpers.string_field(25)
|
|
var_margin: "MoneyValue" = _grpc_helpers.message_field(26)
|
|
expected_yield_fifo: "Quotation" = _grpc_helpers.message_field(27)
|
|
daily_yield: "MoneyValue" = _grpc_helpers.message_field(31)
|
|
ticker: str = _grpc_helpers.string_field(32)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PositionsSecurities(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
blocked: int = _grpc_helpers.int64_field(2)
|
|
balance: int = _grpc_helpers.int64_field(3)
|
|
position_uid: str = _grpc_helpers.string_field(4)
|
|
instrument_uid: str = _grpc_helpers.string_field(5)
|
|
exchange_blocked: bool = _grpc_helpers.bool_field(11)
|
|
instrument_type: str = _grpc_helpers.string_field(16)
|
|
ticker: str = _grpc_helpers.string_field(6)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class TradesStreamRequest(_grpc_helpers.Message):
|
|
accounts: List[str] = _grpc_helpers.string_field(1)
|
|
ping_delay_ms: Optional[int] = _grpc_helpers.int32_field(15)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class TradesStreamResponse(_grpc_helpers.Message):
|
|
order_trades: "OrderTrades" = _grpc_helpers.message_field(1, group="payload")
|
|
ping: "Ping" = _grpc_helpers.message_field(2, group="payload")
|
|
subscription: "SubscriptionResponse" = _grpc_helpers.message_field(
|
|
3, group="payload"
|
|
)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OrderTrades(_grpc_helpers.Message):
|
|
order_id: str = _grpc_helpers.string_field(1)
|
|
created_at: datetime = _grpc_helpers.message_field(2)
|
|
direction: "OrderDirection" = _grpc_helpers.enum_field(3)
|
|
figi: str = _grpc_helpers.string_field(4)
|
|
trades: List["OrderTrade"] = _grpc_helpers.message_field(5)
|
|
account_id: str = _grpc_helpers.string_field(6)
|
|
instrument_uid: str = _grpc_helpers.string_field(7)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OrderTrade(_grpc_helpers.Message):
|
|
date_time: datetime = _grpc_helpers.message_field(1)
|
|
price: "Quotation" = _grpc_helpers.message_field(2)
|
|
quantity: int = _grpc_helpers.int64_field(3)
|
|
trade_id: str = _grpc_helpers.string_field(4)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PostOrderRequest(_grpc_helpers.Message):
|
|
figi: Optional[str] = _grpc_helpers.string_field(1)
|
|
quantity: int = _grpc_helpers.int64_field(2)
|
|
price: Optional["Quotation"] = _grpc_helpers.message_field(3)
|
|
direction: "OrderDirection" = _grpc_helpers.enum_field(4)
|
|
account_id: str = _grpc_helpers.string_field(5)
|
|
order_type: "OrderType" = _grpc_helpers.enum_field(6)
|
|
order_id: str = _grpc_helpers.string_field(7)
|
|
instrument_id: str = _grpc_helpers.string_field(8)
|
|
time_in_force: "TimeInForceType" = _grpc_helpers.message_field(9)
|
|
price_type: "PriceType" = _grpc_helpers.message_field(10)
|
|
confirm_margin_trade: bool = _grpc_helpers.bool_field(11)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PostOrderResponse( # pylint:disable=too-many-instance-attributes
|
|
_grpc_helpers.Message
|
|
):
|
|
order_id: str = _grpc_helpers.string_field(1)
|
|
execution_report_status: "OrderExecutionReportStatus" = _grpc_helpers.enum_field(2)
|
|
lots_requested: int = _grpc_helpers.int64_field(3)
|
|
lots_executed: int = _grpc_helpers.int64_field(4)
|
|
initial_order_price: "MoneyValue" = _grpc_helpers.message_field(5)
|
|
executed_order_price: "MoneyValue" = _grpc_helpers.message_field(6)
|
|
total_order_amount: "MoneyValue" = _grpc_helpers.message_field(7)
|
|
initial_commission: "MoneyValue" = _grpc_helpers.message_field(8)
|
|
executed_commission: "MoneyValue" = _grpc_helpers.message_field(9)
|
|
aci_value: "MoneyValue" = _grpc_helpers.message_field(10)
|
|
figi: str = _grpc_helpers.string_field(11)
|
|
direction: "OrderDirection" = _grpc_helpers.enum_field(12)
|
|
initial_security_price: "MoneyValue" = _grpc_helpers.message_field(13)
|
|
order_type: "OrderType" = _grpc_helpers.enum_field(14)
|
|
message: str = _grpc_helpers.string_field(15)
|
|
initial_order_price_pt: "Quotation" = _grpc_helpers.message_field(16)
|
|
instrument_uid: str = _grpc_helpers.string_field(17)
|
|
order_request_id: str = _grpc_helpers.string_field(20)
|
|
response_metadata: "ResponseMetadata" = _grpc_helpers.message_field(254)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PostOrderAsyncRequest(_grpc_helpers.Message):
|
|
instrument_id: str = _grpc_helpers.string_field(1)
|
|
quantity: int = _grpc_helpers.int64_field(2)
|
|
price: "Quotation" = _grpc_helpers.message_field(3)
|
|
direction: "OrderDirection" = _grpc_helpers.message_field(4)
|
|
account_id: str = _grpc_helpers.string_field(5)
|
|
order_type: "OrderType" = _grpc_helpers.message_field(6)
|
|
order_id: str = _grpc_helpers.string_field(7)
|
|
time_in_force: TimeInForceType = _grpc_helpers.string_field(8)
|
|
price_type: PriceType = _grpc_helpers.string_field(9)
|
|
confirm_margin_trade: bool = _grpc_helpers.bool_field(10)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PostOrderAsyncResponse(_grpc_helpers.Message):
|
|
order_request_id: str = _grpc_helpers.string_field(1)
|
|
execution_report_status: "OrderExecutionReportStatus" = _grpc_helpers.message_field(
|
|
2
|
|
)
|
|
trade_intent_id: str = _grpc_helpers.string_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class CancelOrderRequest(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
order_id: str = _grpc_helpers.string_field(2)
|
|
order_id_type: Optional["OrderIdType"] = _grpc_helpers.message_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class CancelOrderResponse(_grpc_helpers.Message):
|
|
time: datetime = _grpc_helpers.message_field(1)
|
|
response_metadata: "ResponseMetadata" = _grpc_helpers.message_field(254)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetOrderStateRequest(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
order_id: str = _grpc_helpers.string_field(2)
|
|
price_type: "PriceType" = _grpc_helpers.message_field(3)
|
|
order_id_type: Optional["OrderIdType"] = _grpc_helpers.message_field(4)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetOrdersRequest(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
advanced_filters: Optional["GetOrdersRequestFilters"] = _grpc_helpers.message_field(
|
|
2
|
|
)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetOrdersRequestFilters(_grpc_helpers.Message):
|
|
from_: Optional[datetime] = _grpc_helpers.message_field(1)
|
|
to: Optional[datetime] = _grpc_helpers.message_field(2)
|
|
execution_status: List["OrderExecutionReportStatus"] = _grpc_helpers.message_field(
|
|
3
|
|
)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetOrdersResponse(_grpc_helpers.Message):
|
|
orders: List["OrderState"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OrderState(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
|
|
order_id: str = _grpc_helpers.string_field(1)
|
|
execution_report_status: "OrderExecutionReportStatus" = _grpc_helpers.enum_field(2)
|
|
lots_requested: int = _grpc_helpers.int64_field(3)
|
|
lots_executed: int = _grpc_helpers.int64_field(4)
|
|
initial_order_price: "MoneyValue" = _grpc_helpers.message_field(5)
|
|
executed_order_price: "MoneyValue" = _grpc_helpers.message_field(6)
|
|
total_order_amount: "MoneyValue" = _grpc_helpers.message_field(7)
|
|
average_position_price: "MoneyValue" = _grpc_helpers.message_field(8)
|
|
initial_commission: "MoneyValue" = _grpc_helpers.message_field(9)
|
|
executed_commission: "MoneyValue" = _grpc_helpers.message_field(10)
|
|
figi: str = _grpc_helpers.string_field(11)
|
|
direction: "OrderDirection" = _grpc_helpers.enum_field(12)
|
|
initial_security_price: "MoneyValue" = _grpc_helpers.message_field(13)
|
|
stages: List["OrderStage"] = _grpc_helpers.message_field(14)
|
|
service_commission: "MoneyValue" = _grpc_helpers.message_field(15)
|
|
currency: str = _grpc_helpers.string_field(16)
|
|
order_type: "OrderType" = _grpc_helpers.enum_field(17)
|
|
order_date: datetime = _grpc_helpers.message_field(18)
|
|
instrument_uid: str = _grpc_helpers.string_field(19)
|
|
order_request_id: str = _grpc_helpers.string_field(20)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OrderStage(_grpc_helpers.Message):
|
|
price: "MoneyValue" = _grpc_helpers.message_field(1)
|
|
quantity: int = _grpc_helpers.int64_field(2)
|
|
trade_id: str = _grpc_helpers.string_field(3)
|
|
execution_time: datetime = _grpc_helpers.message_field(5)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class ReplaceOrderRequest(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
order_id_type: "OrderIdType" = _grpc_helpers.message_field(5)
|
|
order_id: str = _grpc_helpers.string_field(6)
|
|
idempotency_key: str = _grpc_helpers.string_field(7)
|
|
quantity: int = _grpc_helpers.int64_field(11)
|
|
price: Optional["Quotation"] = _grpc_helpers.message_field(12)
|
|
price_type: Optional["PriceType"] = _grpc_helpers.enum_field(13)
|
|
confirm_margin_trade: bool = _grpc_helpers.bool_field(14)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetAccountsRequest(_grpc_helpers.Message):
|
|
status: Optional["AccountStatus"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetAccountsResponse(_grpc_helpers.Message):
|
|
accounts: List["Account"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Account(_grpc_helpers.Message):
|
|
id: str = _grpc_helpers.string_field(1)
|
|
type: "AccountType" = _grpc_helpers.enum_field(2)
|
|
name: str = _grpc_helpers.string_field(3)
|
|
status: "AccountStatus" = _grpc_helpers.enum_field(4)
|
|
opened_date: datetime = _grpc_helpers.message_field(5)
|
|
closed_date: datetime = _grpc_helpers.message_field(6)
|
|
access_level: "AccessLevel" = _grpc_helpers.message_field(7)
|
|
|
|
@classmethod
|
|
def loads(cls, obj) -> "Account":
|
|
return cls(
|
|
id=obj.id,
|
|
type=AccountType(obj.type),
|
|
name=obj.name,
|
|
status=AccountStatus(obj.type),
|
|
opened_date=_grpc_helpers.ts_to_datetime(obj.opened_date),
|
|
closed_date=_grpc_helpers.ts_to_datetime(obj.closed_date),
|
|
)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetMarginAttributesRequest(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetMarginAttributesResponse(_grpc_helpers.Message):
|
|
liquid_portfolio: "MoneyValue" = _grpc_helpers.message_field(1)
|
|
starting_margin: "MoneyValue" = _grpc_helpers.message_field(2)
|
|
minimal_margin: "MoneyValue" = _grpc_helpers.message_field(3)
|
|
funds_sufficiency_level: "Quotation" = _grpc_helpers.message_field(4)
|
|
amount_of_missing_funds: "MoneyValue" = _grpc_helpers.message_field(5)
|
|
corrected_margin: "MoneyValue" = _grpc_helpers.message_field(6)
|
|
guarantee_for_futures: "MoneyValue" = _grpc_helpers.message_field(7)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetUserTariffRequest(_grpc_helpers.Message):
|
|
pass
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetUserTariffResponse(_grpc_helpers.Message):
|
|
unary_limits: List["UnaryLimit"] = _grpc_helpers.message_field(1)
|
|
stream_limits: List["StreamLimit"] = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class UnaryLimit(_grpc_helpers.Message):
|
|
limit_per_minute: int = _grpc_helpers.int32_field(1)
|
|
methods: List[str] = _grpc_helpers.string_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class StreamLimit(_grpc_helpers.Message):
|
|
limit: int = _grpc_helpers.int32_field(1)
|
|
streams: List[str] = _grpc_helpers.string_field(2)
|
|
open: int = _grpc_helpers.int32_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetInfoRequest(_grpc_helpers.Message):
|
|
pass
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetInfoResponse(_grpc_helpers.Message):
|
|
prem_status: bool = _grpc_helpers.bool_field(1)
|
|
qual_status: bool = _grpc_helpers.bool_field(2)
|
|
qualified_for_work_with: List[str] = _grpc_helpers.string_field(3)
|
|
tariff: str = _grpc_helpers.string_field(4)
|
|
user_id: str = _grpc_helpers.string_field(9)
|
|
risk_level_code: str = _grpc_helpers.string_field(12)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OpenSandboxAccountRequest(_grpc_helpers.Message):
|
|
name: Optional[str] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OpenSandboxAccountResponse(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class CloseSandboxAccountRequest(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class CloseSandboxAccountResponse(_grpc_helpers.Message):
|
|
pass
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class SandboxPayInRequest(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
amount: "MoneyValue" = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class SandboxPayInResponse(_grpc_helpers.Message):
|
|
balance: "MoneyValue" = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PostStopOrderRequest(_grpc_helpers.Message):
|
|
figi: Optional[str] = _grpc_helpers.string_field(1)
|
|
quantity: int = _grpc_helpers.int64_field(2)
|
|
price: Optional["Quotation"] = _grpc_helpers.message_field(3)
|
|
stop_price: Optional["Quotation"] = _grpc_helpers.message_field(4)
|
|
direction: "StopOrderDirection" = _grpc_helpers.enum_field(5)
|
|
account_id: str = _grpc_helpers.string_field(6)
|
|
expiration_type: "StopOrderExpirationType" = _grpc_helpers.enum_field(7)
|
|
stop_order_type: "StopOrderType" = _grpc_helpers.enum_field(8)
|
|
expire_date: Optional[datetime] = _grpc_helpers.message_field(9)
|
|
instrument_id: str = _grpc_helpers.string_field(10)
|
|
exchange_order_type: "ExchangeOrderType" = _grpc_helpers.message_field(11)
|
|
take_profit_type: "TakeProfitType" = _grpc_helpers.message_field(12)
|
|
trailing_data: "PostStopOrderRequestTrailingData" = _grpc_helpers.message_field(13)
|
|
price_type: "PriceType" = _grpc_helpers.message_field(14)
|
|
order_id: str = _grpc_helpers.string_field(15)
|
|
confirm_margin_trade: bool = _grpc_helpers.bool_field(16)
|
|
instant_execution: Optional[bool] = _grpc_helpers.bool_field(17)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PostStopOrderRequestTrailingData(_grpc_helpers.Message):
|
|
indent: "Quotation" = _grpc_helpers.message_field(1)
|
|
indent_type: "TrailingValueType" = _grpc_helpers.message_field(2)
|
|
spread: "Quotation" = _grpc_helpers.message_field(3)
|
|
spread_type: "TrailingValueType" = _grpc_helpers.message_field(4)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PostStopOrderResponse(_grpc_helpers.Message):
|
|
stop_order_id: str = _grpc_helpers.string_field(1)
|
|
order_request_id: str = _grpc_helpers.string_field(2)
|
|
response_metadata: "ResponseMetadata" = _grpc_helpers.message_field(254)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetStopOrdersRequest(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
status: "StopOrderStatusOption" = _grpc_helpers.message_field(2)
|
|
from_: datetime = _grpc_helpers.message_field(3)
|
|
to: datetime = _grpc_helpers.message_field(4)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetStopOrdersResponse(_grpc_helpers.Message):
|
|
stop_orders: List["StopOrder"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class CancelStopOrderRequest(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
stop_order_id: str = _grpc_helpers.string_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class CancelStopOrderResponse(_grpc_helpers.Message):
|
|
time: datetime = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class StopOrder(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
|
|
stop_order_id: str = _grpc_helpers.string_field(1)
|
|
lots_requested: int = _grpc_helpers.int64_field(2)
|
|
figi: str = _grpc_helpers.string_field(3)
|
|
direction: "StopOrderDirection" = _grpc_helpers.enum_field(4)
|
|
currency: str = _grpc_helpers.string_field(5)
|
|
order_type: "StopOrderType" = _grpc_helpers.enum_field(6)
|
|
create_date: datetime = _grpc_helpers.message_field(7)
|
|
activation_date_time: datetime = _grpc_helpers.message_field(8)
|
|
expiration_time: datetime = _grpc_helpers.message_field(9)
|
|
price: "MoneyValue" = _grpc_helpers.message_field(10)
|
|
stop_price: "MoneyValue" = _grpc_helpers.message_field(11)
|
|
instrument_uid: str = _grpc_helpers.string_field(12)
|
|
take_profit_type: "TakeProfitType" = _grpc_helpers.message_field(13)
|
|
trailing_data: "StopOrderTrailingData" = _grpc_helpers.message_field(14)
|
|
status: "StopOrderStatusOption" = _grpc_helpers.message_field(15)
|
|
exchange_order_type: "ExchangeOrderType" = _grpc_helpers.message_field(16)
|
|
exchange_order_id: Optional[str] = _grpc_helpers.string_field(17)
|
|
ticker: str = _grpc_helpers.string_field(18)
|
|
class_code: str = _grpc_helpers.string_field(19)
|
|
instant_execution: bool = _grpc_helpers.bool_field(20)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class StopOrderTrailingData(_grpc_helpers.Message):
|
|
indent: "Quotation" = _grpc_helpers.message_field(1)
|
|
indent_type: "TrailingValueType" = _grpc_helpers.message_field(2)
|
|
spread: "Quotation" = _grpc_helpers.message_field(3)
|
|
spread_type: "TrailingValueType" = _grpc_helpers.message_field(4)
|
|
status: "TrailingStopStatus" = _grpc_helpers.message_field(5)
|
|
price: "Quotation" = _grpc_helpers.message_field(7)
|
|
extr: "Quotation" = _grpc_helpers.message_field(8)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class BrokerReportRequest(_grpc_helpers.Message):
|
|
generate_broker_report_request: "GenerateBrokerReportRequest" = (
|
|
_grpc_helpers.message_field(1, group="payload")
|
|
)
|
|
get_broker_report_request: "GetBrokerReportRequest" = _grpc_helpers.message_field(
|
|
2, group="payload"
|
|
)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class BrokerReportResponse(_grpc_helpers.Message):
|
|
generate_broker_report_response: "GenerateBrokerReportResponse" = (
|
|
_grpc_helpers.message_field(1, group="payload")
|
|
)
|
|
get_broker_report_response: "GetBrokerReportResponse" = _grpc_helpers.message_field(
|
|
2, group="payload"
|
|
)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GenerateBrokerReportRequest(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
from_: datetime = _grpc_helpers.message_field(2)
|
|
to: datetime = _grpc_helpers.message_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GenerateBrokerReportResponse(_grpc_helpers.Message):
|
|
task_id: str = _grpc_helpers.string_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetBrokerReportRequest(_grpc_helpers.Message):
|
|
task_id: str = _grpc_helpers.string_field(1)
|
|
page: Optional[int] = _grpc_helpers.int32_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetBrokerReportResponse(_grpc_helpers.Message):
|
|
broker_report: List["BrokerReport"] = _grpc_helpers.message_field(1)
|
|
itemsCount: int = _grpc_helpers.int32_field(2)
|
|
pagesCount: int = _grpc_helpers.int32_field(3)
|
|
page: int = _grpc_helpers.int32_field(4)
|
|
task_id: str = _grpc_helpers.string_field(5)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class BrokerReport( # pylint:disable=too-many-instance-attributes
|
|
_grpc_helpers.Message
|
|
):
|
|
trade_id: str = _grpc_helpers.string_field(1)
|
|
order_id: str = _grpc_helpers.string_field(2)
|
|
figi: str = _grpc_helpers.string_field(3)
|
|
execute_sign: str = _grpc_helpers.string_field(4)
|
|
trade_datetime: datetime = _grpc_helpers.message_field(5)
|
|
exchange: str = _grpc_helpers.string_field(6)
|
|
class_code: str = _grpc_helpers.string_field(7)
|
|
direction: str = _grpc_helpers.string_field(8)
|
|
name: str = _grpc_helpers.string_field(9)
|
|
ticker: str = _grpc_helpers.string_field(10)
|
|
price: "MoneyValue" = _grpc_helpers.message_field(11)
|
|
quantity: int = _grpc_helpers.int64_field(12)
|
|
order_amount: "MoneyValue" = _grpc_helpers.message_field(13)
|
|
aci_value: float = _grpc_helpers.double_field(14)
|
|
total_order_amount: "MoneyValue" = _grpc_helpers.message_field(15)
|
|
broker_commission: "MoneyValue" = _grpc_helpers.message_field(16)
|
|
exchange_commission: "MoneyValue" = _grpc_helpers.message_field(17)
|
|
exchange_clearing_commission: "MoneyValue" = _grpc_helpers.message_field(18)
|
|
repo_rate: float = _grpc_helpers.double_field(19)
|
|
party: str = _grpc_helpers.string_field(20)
|
|
clear_value_date: datetime = _grpc_helpers.message_field(21)
|
|
sec_value_date: datetime = _grpc_helpers.message_field(22)
|
|
broker_status: str = _grpc_helpers.string_field(23)
|
|
separate_agreement_type: str = _grpc_helpers.string_field(24)
|
|
separate_agreement_number: str = _grpc_helpers.string_field(25)
|
|
separate_agreement_date: str = _grpc_helpers.string_field(26)
|
|
delivery_type: str = _grpc_helpers.string_field(27)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PositionsFutures(_grpc_helpers.Message):
|
|
figi: str = _grpc_helpers.string_field(1)
|
|
blocked: int = _grpc_helpers.int64_field(2)
|
|
balance: int = _grpc_helpers.int64_field(3)
|
|
position_uid: str = _grpc_helpers.string_field(4)
|
|
instrument_uid: str = _grpc_helpers.string_field(5)
|
|
ticker: str = _grpc_helpers.string_field(6)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PositionsOptions(_grpc_helpers.Message):
|
|
position_uid: str = _grpc_helpers.string_field(1)
|
|
instrument_uid: str = _grpc_helpers.string_field(2)
|
|
blocked: int = _grpc_helpers.int64_field(11)
|
|
balance: int = _grpc_helpers.int64_field(21)
|
|
ticker: str = _grpc_helpers.string_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetDividendsForeignIssuerRequest(_grpc_helpers.Message):
|
|
generate_div_foreign_issuer_report: "GenerateDividendsForeignIssuerReportRequest" = _grpc_helpers.message_field( # noqa:E501 # pylint:disable=line-too-long
|
|
1, group="payload"
|
|
)
|
|
get_div_foreign_issuer_report: "GetDividendsForeignIssuerReportRequest" = (
|
|
_grpc_helpers.message_field(2, group="payload")
|
|
)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetDividendsForeignIssuerResponse(_grpc_helpers.Message):
|
|
generate_div_foreign_issuer_report_response: "GenerateDividendsForeignIssuerReportResponse" = _grpc_helpers.message_field( # noqa:E501 # pylint:disable=line-too-long
|
|
1, group="payload"
|
|
)
|
|
div_foreign_issuer_report: "GetDividendsForeignIssuerReportResponse" = (
|
|
_grpc_helpers.message_field(2, group="payload")
|
|
)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GenerateDividendsForeignIssuerReportRequest(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
from_: datetime = _grpc_helpers.message_field(2)
|
|
to: datetime = _grpc_helpers.message_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetDividendsForeignIssuerReportRequest(_grpc_helpers.Message):
|
|
task_id: str = _grpc_helpers.string_field(1)
|
|
page: Optional[int] = _grpc_helpers.int32_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GenerateDividendsForeignIssuerReportResponse(_grpc_helpers.Message):
|
|
task_id: str = _grpc_helpers.string_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetDividendsForeignIssuerReportResponse(_grpc_helpers.Message):
|
|
dividends_foreign_issuer_report: List[
|
|
"DividendsForeignIssuerReport"
|
|
] = _grpc_helpers.message_field(1)
|
|
itemsCount: int = _grpc_helpers.int32_field(2)
|
|
pagesCount: int = _grpc_helpers.int32_field(3)
|
|
page: int = _grpc_helpers.int32_field(4)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class DividendsForeignIssuerReport( # pylint:disable=too-many-instance-attributes
|
|
_grpc_helpers.Message
|
|
):
|
|
record_date: datetime = _grpc_helpers.message_field(1)
|
|
payment_date: datetime = _grpc_helpers.message_field(2)
|
|
security_name: str = _grpc_helpers.string_field(3)
|
|
isin: str = _grpc_helpers.string_field(4)
|
|
issuer_country: str = _grpc_helpers.string_field(5)
|
|
quantity: int = _grpc_helpers.int64_field(6)
|
|
dividend: "Quotation" = _grpc_helpers.message_field(7)
|
|
external_commission: "Quotation" = _grpc_helpers.message_field(8)
|
|
dividend_gross: "Quotation" = _grpc_helpers.message_field(9)
|
|
tax: "Quotation" = _grpc_helpers.message_field(10)
|
|
dividend_amount: "Quotation" = _grpc_helpers.message_field(11)
|
|
currency: str = _grpc_helpers.string_field(12)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PortfolioStreamRequest(_grpc_helpers.Message):
|
|
accounts: List[str] = _grpc_helpers.message_field(1)
|
|
ping_settings: "PingDelaySettings" = _grpc_helpers.message_field(15)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PortfolioStreamResponse(_grpc_helpers.Message):
|
|
subscriptions: "PortfolioSubscriptionResult" = _grpc_helpers.message_field(
|
|
1, group="payload"
|
|
)
|
|
portfolio: "PortfolioResponse" = _grpc_helpers.message_field(2, group="payload")
|
|
ping: "Ping" = _grpc_helpers.message_field(3, group="payload")
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PortfolioSubscriptionResult(_grpc_helpers.Message):
|
|
accounts: List["AccountSubscriptionStatus"] = _grpc_helpers.message_field(1)
|
|
tracking_id: str = _grpc_helpers.string_field(7)
|
|
stream_id: str = _grpc_helpers.string_field(8)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class AccountSubscriptionStatus(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
subscription_status: "PortfolioSubscriptionStatus" = _grpc_helpers.message_field(6)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetOperationsByCursorRequest(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
instrument_id: Optional[str] = _grpc_helpers.string_field(2)
|
|
from_: Optional[datetime] = _grpc_helpers.message_field(6)
|
|
to: Optional[datetime] = _grpc_helpers.message_field(7)
|
|
cursor: Optional[str] = _grpc_helpers.string_field(11)
|
|
limit: Optional[int] = _grpc_helpers.int32_field(12)
|
|
operation_types: List["OperationType"] = _grpc_helpers.message_field(13)
|
|
state: Optional["OperationState"] = _grpc_helpers.message_field(14)
|
|
without_commissions: Optional[bool] = _grpc_helpers.bool_field(15)
|
|
without_trades: Optional[bool] = _grpc_helpers.bool_field(16)
|
|
without_overnights: Optional[bool] = _grpc_helpers.bool_field(17)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetOperationsByCursorResponse(_grpc_helpers.Message):
|
|
has_next: bool = _grpc_helpers.bool_field(1)
|
|
next_cursor: str = _grpc_helpers.string_field(2)
|
|
items: List["OperationItem"] = _grpc_helpers.message_field(6)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OperationItem(_grpc_helpers.Message):
|
|
cursor: str = _grpc_helpers.string_field(1)
|
|
broker_account_id: str = _grpc_helpers.string_field(6)
|
|
id: str = _grpc_helpers.string_field(16)
|
|
parent_operation_id: str = _grpc_helpers.string_field(17)
|
|
name: str = _grpc_helpers.string_field(18)
|
|
date: datetime = _grpc_helpers.message_field(21)
|
|
type: "OperationType" = _grpc_helpers.enum_field(22)
|
|
description: str = _grpc_helpers.string_field(23)
|
|
state: "OperationState" = _grpc_helpers.message_field(24)
|
|
instrument_uid: str = _grpc_helpers.string_field(31)
|
|
figi: str = _grpc_helpers.string_field(32)
|
|
instrument_type: str = _grpc_helpers.string_field(33)
|
|
instrument_kind: "InstrumentType" = _grpc_helpers.enum_field(34)
|
|
position_uid: str = _grpc_helpers.string_field(35)
|
|
payment: "MoneyValue" = _grpc_helpers.message_field(41)
|
|
price: "MoneyValue" = _grpc_helpers.message_field(42)
|
|
commission: "MoneyValue" = _grpc_helpers.message_field(43)
|
|
yield_: "MoneyValue" = _grpc_helpers.message_field(44)
|
|
yield_relative: "Quotation" = _grpc_helpers.message_field(45)
|
|
accrued_int: "MoneyValue" = _grpc_helpers.message_field(46)
|
|
quantity: int = _grpc_helpers.int64_field(51)
|
|
quantity_rest: int = _grpc_helpers.int64_field(52)
|
|
quantity_done: int = _grpc_helpers.int64_field(53)
|
|
cancel_date_time: datetime = _grpc_helpers.message_field(56)
|
|
cancel_reason: str = _grpc_helpers.string_field(57)
|
|
trades_info: "OperationItemTrades" = _grpc_helpers.message_field(61)
|
|
asset_uid: str = _grpc_helpers.string_field(64)
|
|
child_operations: List["ChildOperationItem"] = _grpc_helpers.message_field(65)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OperationItemTrades(_grpc_helpers.Message):
|
|
trades: List["OperationItemTrade"] = _grpc_helpers.message_field(6)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OperationItemTrade(_grpc_helpers.Message):
|
|
num: str = _grpc_helpers.string_field(1)
|
|
date: datetime = _grpc_helpers.message_field(6)
|
|
quantity: int = _grpc_helpers.int64_field(11)
|
|
price: "MoneyValue" = _grpc_helpers.message_field(16)
|
|
yield_: "MoneyValue" = _grpc_helpers.message_field(21)
|
|
yield_relative: "Quotation" = _grpc_helpers.message_field(22)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PositionsStreamRequest(_grpc_helpers.Message):
|
|
accounts: List[str] = _grpc_helpers.string_field(1)
|
|
ping_settings: "PingDelaySettings" = _grpc_helpers.message_field(15)
|
|
with_initial_positions: bool = _grpc_helpers.bool_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PositionsStreamResponse(_grpc_helpers.Message):
|
|
subscriptions: "PositionsSubscriptionResult" = _grpc_helpers.message_field(
|
|
1, group="payload"
|
|
)
|
|
position: "PositionData" = _grpc_helpers.message_field(2, group="payload")
|
|
ping: "Ping" = _grpc_helpers.message_field(3, group="payload")
|
|
initial_positions: "PositionsResponse" = _grpc_helpers.message_field(
|
|
5, group="payload"
|
|
)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PositionsSubscriptionResult(_grpc_helpers.Message):
|
|
accounts: List["PositionsSubscriptionStatus"] = _grpc_helpers.message_field(1)
|
|
tracking_id: str = _grpc_helpers.string_field(7)
|
|
stream_id: str = _grpc_helpers.string_field(8)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PositionsSubscriptionStatus(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
subscription_status: "PositionsAccountSubscriptionStatus" = (
|
|
_grpc_helpers.message_field(6)
|
|
)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PositionData(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
money: List["PositionsMoney"] = _grpc_helpers.message_field(2)
|
|
securities: List["PositionsSecurities"] = _grpc_helpers.message_field(3)
|
|
futures: List["PositionsFutures"] = _grpc_helpers.message_field(4)
|
|
options: List["PositionsOptions"] = _grpc_helpers.message_field(5)
|
|
date: datetime = _grpc_helpers.message_field(6)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PositionsMoney(_grpc_helpers.Message):
|
|
available_value: "MoneyValue" = _grpc_helpers.message_field(1)
|
|
blocked_value: "MoneyValue" = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Page(_grpc_helpers.Message):
|
|
limit: int = _grpc_helpers.int32_field(1)
|
|
page_number: int = _grpc_helpers.int32_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PageResponse(_grpc_helpers.Message):
|
|
limit: int = _grpc_helpers.int32_field(1)
|
|
page_number: int = _grpc_helpers.int32_field(2)
|
|
total_count: int = _grpc_helpers.int32_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class ResponseMetadata(_grpc_helpers.Message):
|
|
tracking_id: str = _grpc_helpers.string_field(42)
|
|
server_time: datetime = _grpc_helpers.message_field(43)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class BrandData(_grpc_helpers.Message):
|
|
logo_name: str = _grpc_helpers.string_field(1)
|
|
logo_base_color: str = _grpc_helpers.string_field(2)
|
|
text_color: str = _grpc_helpers.string_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetAssetFundamentalsRequest(_grpc_helpers.Message):
|
|
assets: List[str] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetAssetFundamentalsResponse(_grpc_helpers.Message):
|
|
fundamentals: List["StatisticResponse"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class StatisticResponse(_grpc_helpers.Message):
|
|
asset_uid: str = _grpc_helpers.string_field(1)
|
|
currency: str = _grpc_helpers.string_field(2)
|
|
market_capitalization: float = _grpc_helpers.double_field(3)
|
|
high_price_last_52_weeks: float = _grpc_helpers.double_field(4)
|
|
low_price_last_52_weeks: float = _grpc_helpers.double_field(5)
|
|
average_daily_volume_last_10_days: float = _grpc_helpers.double_field(6)
|
|
average_daily_volume_last_4_weeks: float = _grpc_helpers.double_field(7)
|
|
beta: float = _grpc_helpers.double_field(8)
|
|
free_float: float = _grpc_helpers.double_field(9)
|
|
forward_annual_dividend_yield: float = _grpc_helpers.double_field(10)
|
|
shares_outstanding: float = _grpc_helpers.double_field(11)
|
|
revenue_ttm: float = _grpc_helpers.double_field(12)
|
|
ebitda_ttm: float = _grpc_helpers.double_field(13)
|
|
net_income_ttm: float = _grpc_helpers.double_field(14)
|
|
eps_ttm: float = _grpc_helpers.double_field(15)
|
|
diluted_eps_ttm: float = _grpc_helpers.double_field(16)
|
|
free_cash_flow_ttm: float = _grpc_helpers.double_field(17)
|
|
five_year_annual_revenue_growth_rate: float = _grpc_helpers.double_field(18)
|
|
three_year_annual_revenue_growth_rate: float = _grpc_helpers.double_field(19)
|
|
pe_ratio_ttm: float = _grpc_helpers.double_field(20)
|
|
price_to_sales_ttm: float = _grpc_helpers.double_field(21)
|
|
price_to_book_ttm: float = _grpc_helpers.double_field(22)
|
|
price_to_free_cash_flow_ttm: float = _grpc_helpers.double_field(23)
|
|
total_enterprise_value_mrq: float = _grpc_helpers.double_field(24)
|
|
ev_to_ebitda_mrq: float = _grpc_helpers.double_field(25)
|
|
net_margin_mrq: float = _grpc_helpers.double_field(26)
|
|
net_interest_margin_mrq: float = _grpc_helpers.double_field(27)
|
|
roe: float = _grpc_helpers.double_field(28)
|
|
roa: float = _grpc_helpers.double_field(29)
|
|
roic: float = _grpc_helpers.double_field(30)
|
|
total_debt_mrq: float = _grpc_helpers.double_field(31)
|
|
total_debt_to_equity_mrq: float = _grpc_helpers.double_field(32)
|
|
total_debt_to_ebitda_mrq: float = _grpc_helpers.double_field(33)
|
|
free_cash_flow_to_price: float = _grpc_helpers.double_field(34)
|
|
net_debt_to_ebitda: float = _grpc_helpers.double_field(35)
|
|
current_ratio_mrq: float = _grpc_helpers.double_field(36)
|
|
fixed_charge_coverage_ratio_fy: float = _grpc_helpers.double_field(37)
|
|
dividend_yield_daily_ttm: float = _grpc_helpers.double_field(38)
|
|
dividend_rate_ttm: float = _grpc_helpers.double_field(39)
|
|
dividends_per_share: float = _grpc_helpers.double_field(40)
|
|
five_years_average_dividend_yield: float = _grpc_helpers.double_field(41)
|
|
five_year_annual_dividend_growth_rate: float = _grpc_helpers.double_field(42)
|
|
dividend_payout_ratio_fy: float = _grpc_helpers.double_field(43)
|
|
buy_back_ttm: float = _grpc_helpers.double_field(44)
|
|
one_year_annual_revenue_growth_rate: float = _grpc_helpers.double_field(45)
|
|
domicile_indicator_code: str = _grpc_helpers.string_field(46)
|
|
adr_to_common_share_ratio: float = _grpc_helpers.double_field(47)
|
|
number_of_employees: float = _grpc_helpers.double_field(48)
|
|
ex_dividend_date: datetime = _grpc_helpers.message_field(49)
|
|
fiscal_period_start_date: datetime = _grpc_helpers.message_field(50)
|
|
fiscal_period_end_date: datetime = _grpc_helpers.message_field(51)
|
|
revenue_change_five_years: float = _grpc_helpers.double_field(53)
|
|
eps_change_five_years: float = _grpc_helpers.double_field(54)
|
|
ebitda_change_five_years: float = _grpc_helpers.double_field(55)
|
|
total_debt_change_five_years: float = _grpc_helpers.double_field(56)
|
|
ev_to_sales: float = _grpc_helpers.double_field(57)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetAssetReportsRequest(_grpc_helpers.Message):
|
|
instrument_id: str = _grpc_helpers.string_field(1)
|
|
from_: datetime = _grpc_helpers.message_field(2)
|
|
to: datetime = _grpc_helpers.message_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetAssetReportsEvent(_grpc_helpers.Message):
|
|
instrument_id: str = _grpc_helpers.string_field(1)
|
|
report_date: datetime = _grpc_helpers.message_field(2)
|
|
period_year: int = _grpc_helpers.int32_field(3)
|
|
period_num: int = _grpc_helpers.int32_field(4)
|
|
period_type: "AssetReportPeriodType" = _grpc_helpers.enum_field(5)
|
|
created_at: datetime = _grpc_helpers.message_field(6)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetAssetReportsResponse(_grpc_helpers.Message):
|
|
events: List["GetAssetReportsEvent"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetConsensusForecastsRequest(_grpc_helpers.Message):
|
|
paging: Optional["Page"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class ConsensusForecastsItem(_grpc_helpers.Message):
|
|
uid: str = _grpc_helpers.string_field(1)
|
|
asset_uid: str = _grpc_helpers.string_field(2)
|
|
created_at: datetime = _grpc_helpers.message_field(3)
|
|
best_target_price: "Quotation" = _grpc_helpers.message_field(4)
|
|
best_target_low: "Quotation" = _grpc_helpers.message_field(5)
|
|
best_target_high: "Quotation" = _grpc_helpers.message_field(6)
|
|
total_buy_recommend: int = _grpc_helpers.int32_field(7)
|
|
total_hold_recommend: int = _grpc_helpers.int32_field(8)
|
|
total_sell_recommend: int = _grpc_helpers.int32_field(9)
|
|
currency: str = _grpc_helpers.string_field(10)
|
|
consensus: "Recommendation" = _grpc_helpers.message_field(11)
|
|
prognosis_date: datetime = _grpc_helpers.message_field(12)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetConsensusForecastsResponse(_grpc_helpers.Message):
|
|
items: List["ConsensusForecastsItem"] = _grpc_helpers.message_field(1)
|
|
page: "PageResponse" = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetForecastRequest(_grpc_helpers.Message):
|
|
instrument_id: str = _grpc_helpers.string_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class TargetItem(_grpc_helpers.Message):
|
|
uid: str = _grpc_helpers.string_field(1)
|
|
ticker: str = _grpc_helpers.string_field(2)
|
|
company: str = _grpc_helpers.string_field(3)
|
|
recommendation: "Recommendation" = _grpc_helpers.message_field(4)
|
|
recommendation_date: datetime = _grpc_helpers.message_field(5)
|
|
currency: str = _grpc_helpers.string_field(6)
|
|
current_price: "Quotation" = _grpc_helpers.message_field(7)
|
|
target_price: "Quotation" = _grpc_helpers.message_field(8)
|
|
price_change: "Quotation" = _grpc_helpers.message_field(9)
|
|
price_change_rel: "Quotation" = _grpc_helpers.message_field(10)
|
|
show_name: str = _grpc_helpers.string_field(11)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class ConsensusItem(_grpc_helpers.Message):
|
|
uid: str = _grpc_helpers.string_field(1)
|
|
ticker: str = _grpc_helpers.string_field(2)
|
|
recommendation: "Recommendation" = _grpc_helpers.message_field(3)
|
|
currency: str = _grpc_helpers.string_field(4)
|
|
current_price: "Quotation" = _grpc_helpers.message_field(5)
|
|
consensus: "Quotation" = _grpc_helpers.message_field(6)
|
|
min_target: "Quotation" = _grpc_helpers.message_field(7)
|
|
max_target: "Quotation" = _grpc_helpers.message_field(8)
|
|
price_change: "Quotation" = _grpc_helpers.message_field(9)
|
|
price_change_rel: "Quotation" = _grpc_helpers.message_field(10)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetForecastResponse(_grpc_helpers.Message):
|
|
targets: List["TargetItem"] = _grpc_helpers.message_field(1)
|
|
consensus: "ConsensusItem" = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class RiskRatesRequest(_grpc_helpers.Message):
|
|
instrument_id: List[str] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class RiskRatesResponse(_grpc_helpers.Message):
|
|
instrument_risk_rates: List["RiskRateResult"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class RiskRateResult(_grpc_helpers.Message):
|
|
instrument_uid: str = _grpc_helpers.string_field(1)
|
|
short_risk_rate: Optional["RiskRate"] = _grpc_helpers.message_field(2)
|
|
long_risk_rate: Optional["RiskRate"] = _grpc_helpers.message_field(3)
|
|
short_risk_rates: List["RiskRate"] = _grpc_helpers.message_field(5)
|
|
long_risk_rates: List["RiskRate"] = _grpc_helpers.message_field(6)
|
|
error: Optional[str] = _grpc_helpers.string_field(9)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class RiskRate(_grpc_helpers.Message):
|
|
risk_level_code: str = _grpc_helpers.string_field(2)
|
|
value: Quotation = _grpc_helpers.message_field(5)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetInsiderDealsRequest(_grpc_helpers.Message):
|
|
instrument_id: str = _grpc_helpers.string_field(1)
|
|
limit: int = _grpc_helpers.int32_field(2)
|
|
next_cursor: Optional[str] = _grpc_helpers.string_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetInsiderDealsResponse(_grpc_helpers.Message):
|
|
insider_deals: List["InsiderDeal"] = _grpc_helpers.message_field(1)
|
|
next_cursor: Optional[str] = _grpc_helpers.string_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class InsiderDeal(_grpc_helpers.Message):
|
|
trade_id: int = _grpc_helpers.int64_field(1)
|
|
direction: TradeDirection = _grpc_helpers.enum_field(2)
|
|
currency: str = _grpc_helpers.string_field(3)
|
|
date: datetime = _grpc_helpers.message_field(4)
|
|
quantity: int = _grpc_helpers.int64_field(5)
|
|
price: Quotation = _grpc_helpers.message_field(6)
|
|
instrument_uid: str = _grpc_helpers.string_field(7)
|
|
ticker: str = _grpc_helpers.string_field(8)
|
|
investor_name: str = _grpc_helpers.string_field(9)
|
|
investor_position: str = _grpc_helpers.string_field(10)
|
|
percentage: float = _grpc_helpers.float_field(11)
|
|
is_option_execution: bool = _grpc_helpers.bool_field(12)
|
|
disclosure_date: datetime = _grpc_helpers.message_field(13)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class TimeInterval(_grpc_helpers.Message):
|
|
start_ts: datetime = _grpc_helpers.message_field(1)
|
|
end_ts: datetime = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class TradingInterval(_grpc_helpers.Message):
|
|
type: str = _grpc_helpers.string_field(1)
|
|
interval: "TimeInterval" = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetMaxLotsRequest(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
instrument_id: str = _grpc_helpers.string_field(2)
|
|
price: Optional["Quotation"] = _grpc_helpers.message_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetMaxLotsResponse(_grpc_helpers.Message):
|
|
currency: str = _grpc_helpers.string_field(1)
|
|
buy_limits: "BuyLimitsView" = _grpc_helpers.message_field(2)
|
|
buy_margin_limits: "BuyLimitsView" = _grpc_helpers.message_field(3)
|
|
sell_limits: "SellLimitsView" = _grpc_helpers.message_field(4)
|
|
sell_margin_limits: "SellLimitsView" = _grpc_helpers.message_field(5)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class DfasRequest(_grpc_helpers.Message):
|
|
pass
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class DfaResponse(_grpc_helpers.Message):
|
|
uid: str = _grpc_helpers.string_field(1)
|
|
ticker: str = _grpc_helpers.string_field(2)
|
|
name: str = _grpc_helpers.string_field(3)
|
|
position_uid: str = _grpc_helpers.string_field(4)
|
|
min_price_increment: "Quotation" = _grpc_helpers.message_field(5)
|
|
lot: int = _grpc_helpers.int32_field(6)
|
|
nominal: "MoneyValue" = _grpc_helpers.message_field(7)
|
|
currency: str = _grpc_helpers.string_field(8)
|
|
maturity_date: datetime = _grpc_helpers.message_field(9)
|
|
short_enabled_flag: bool = _grpc_helpers.bool_field(10)
|
|
api_trade_available_flag: bool = _grpc_helpers.bool_field(11)
|
|
buy_available_flag: bool = _grpc_helpers.bool_field(12)
|
|
sell_available_flag: bool = _grpc_helpers.bool_field(13)
|
|
limit_order_available_flag: bool = _grpc_helpers.bool_field(14)
|
|
market_order_available_flag: bool = _grpc_helpers.bool_field(15)
|
|
bestprice_order_available_flag: bool = _grpc_helpers.bool_field(16)
|
|
for_iis_flag: bool = _grpc_helpers.bool_field(17)
|
|
for_qual_investor_flag: bool = _grpc_helpers.bool_field(18)
|
|
type: str = _grpc_helpers.string_field(19)
|
|
basic_assets: List["BasicDfaAsset"] = _grpc_helpers.message_field(20)
|
|
forecast_yield: "ForecastYield" = _grpc_helpers.message_field(21)
|
|
yield_to_maturity: "Quotation" = _grpc_helpers.message_field(22)
|
|
coupon_value: "Quotation" = _grpc_helpers.message_field(23)
|
|
coupon_payment_frequency: int = _grpc_helpers.int32_field(24)
|
|
coupon_payment_date: datetime = _grpc_helpers.message_field(25)
|
|
aci_value: "Quotation" = _grpc_helpers.message_field(26)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class BasicDfaAsset(_grpc_helpers.Message):
|
|
uid: str = _grpc_helpers.string_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class ForecastYield(_grpc_helpers.Message):
|
|
min_value: "Quotation" = _grpc_helpers.message_field(1)
|
|
max_value: "Quotation" = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class DfasResponse(_grpc_helpers.Message):
|
|
instruments: List["DfaResponse"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class BuyLimitsView(_grpc_helpers.Message):
|
|
buy_money_amount: "Quotation" = _grpc_helpers.message_field(1)
|
|
buy_max_lots: int = _grpc_helpers.int64_field(2)
|
|
buy_max_market_lots: int = _grpc_helpers.int64_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class SellLimitsView(_grpc_helpers.Message):
|
|
sell_max_lots: int = _grpc_helpers.int64_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetOrderPriceRequest(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
instrument_id: str = _grpc_helpers.string_field(2)
|
|
price: "Quotation" = _grpc_helpers.message_field(3)
|
|
direction: "OrderDirection" = _grpc_helpers.message_field(12)
|
|
quantity: int = _grpc_helpers.int64_field(13)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetOrderPriceResponse(_grpc_helpers.Message):
|
|
total_order_amount: "MoneyValue" = _grpc_helpers.message_field(1)
|
|
initial_order_amount: "MoneyValue" = _grpc_helpers.message_field(5)
|
|
lots_requested: int = _grpc_helpers.int64_field(3)
|
|
executed_commission: "MoneyValue" = _grpc_helpers.message_field(7)
|
|
executed_commission_rub: "MoneyValue" = _grpc_helpers.message_field(8)
|
|
service_commission: "MoneyValue" = _grpc_helpers.message_field(9)
|
|
deal_commission: "MoneyValue" = _grpc_helpers.message_field(10)
|
|
extra_bond: "ExtraBond" = _grpc_helpers.message_field(12, group="instrument_extra")
|
|
extra_future: "ExtraFuture" = _grpc_helpers.message_field(
|
|
13, group="instrument_extra"
|
|
)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OrderStateStreamRequest(_grpc_helpers.Message):
|
|
accounts: List[str] = _grpc_helpers.message_field(1)
|
|
ping_delay_millis: Optional[int] = _grpc_helpers.int32_field(15)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class ErrorDetail(_grpc_helpers.Message):
|
|
code: str = _grpc_helpers.string_field(1)
|
|
message: str = _grpc_helpers.string_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class SubscriptionResponse(_grpc_helpers.Message):
|
|
tracking_id: str = _grpc_helpers.string_field(1)
|
|
status: ResultSubscriptionStatus = _grpc_helpers.message_field(2)
|
|
stream_id: str = _grpc_helpers.message_field(4)
|
|
accounts: List[str] = _grpc_helpers.message_field(5)
|
|
error: Optional[ErrorDetail] = _grpc_helpers.message_field(7)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OrderStateStreamOrderState(_grpc_helpers.Message):
|
|
order_id: str = _grpc_helpers.string_field(1)
|
|
order_request_id: Optional[str] = _grpc_helpers.string_field(2)
|
|
client_code: str = _grpc_helpers.string_field(3)
|
|
created_at: datetime = _grpc_helpers.message_field(4)
|
|
execution_report_status: OrderExecutionReportStatus = _grpc_helpers.message_field(5)
|
|
status_info: Optional[StatusCauseInfo] = _grpc_helpers.message_field(6)
|
|
ticker: str = _grpc_helpers.string_field(7)
|
|
class_code: str = _grpc_helpers.string_field(8)
|
|
lot_size: int = _grpc_helpers.int32_field(9)
|
|
direction: OrderDirection = _grpc_helpers.message_field(10)
|
|
time_in_force: TimeInForceType = _grpc_helpers.message_field(11)
|
|
order_type: OrderType = _grpc_helpers.message_field(12)
|
|
account_id: str = _grpc_helpers.string_field(13)
|
|
trade_order_id: str = _grpc_helpers.string_field(14)
|
|
initial_order_price: MoneyValue = _grpc_helpers.message_field(22)
|
|
order_price: MoneyValue = _grpc_helpers.message_field(23)
|
|
amount: Optional[MoneyValue] = _grpc_helpers.message_field(24)
|
|
executed_order_price: MoneyValue = _grpc_helpers.message_field(25)
|
|
currency: str = _grpc_helpers.string_field(26)
|
|
lots_requested: int = _grpc_helpers.int64_field(27)
|
|
lots_executed: int = _grpc_helpers.int64_field(28)
|
|
lots_left: int = _grpc_helpers.int64_field(29)
|
|
lots_cancelled: int = _grpc_helpers.int64_field(30)
|
|
marker: Optional[MarkerType] = _grpc_helpers.message_field(31)
|
|
trades: List[OrderTrade] = _grpc_helpers.message_field(33)
|
|
completion_time: datetime = _grpc_helpers.message_field(35)
|
|
exchange: str = _grpc_helpers.string_field(36)
|
|
instrument_uid: str = _grpc_helpers.string_field(41)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class OrderStateStreamResponse(_grpc_helpers.Message):
|
|
order_state: "OrderStateStreamOrderState" = _grpc_helpers.message_field(
|
|
1, group="payload"
|
|
)
|
|
ping: "Ping" = _grpc_helpers.message_field(2, group="payload")
|
|
subscription: "SubscriptionResponse" = _grpc_helpers.message_field(
|
|
3, group="payload"
|
|
)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class ExtraBond(_grpc_helpers.Message):
|
|
aci_value: "MoneyValue" = _grpc_helpers.message_field(2)
|
|
nominal_conversion_rate: "Quotation" = _grpc_helpers.message_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class ExtraFuture(_grpc_helpers.Message):
|
|
initial_margin: "MoneyValue" = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetStrategiesRequest(_grpc_helpers.Message):
|
|
strategy_id: Optional[str] = _grpc_helpers.string_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetStrategiesResponse(_grpc_helpers.Message):
|
|
strategies: List["Strategy"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Strategy(_grpc_helpers.Message):
|
|
strategy_id: str = _grpc_helpers.string_field(1)
|
|
strategy_name: str = _grpc_helpers.string_field(2)
|
|
strategy_description: Optional[str] = _grpc_helpers.string_field(3)
|
|
strategy_url: Optional[str] = _grpc_helpers.string_field(4)
|
|
strategy_type: "StrategyType" = _grpc_helpers.message_field(5)
|
|
active_signals: int = _grpc_helpers.int32_field(6)
|
|
total_signals: int = _grpc_helpers.int32_field(7)
|
|
time_in_position: int = _grpc_helpers.int64_field(8)
|
|
average_signal_yield: "Quotation" = _grpc_helpers.string_field(9)
|
|
average_signal_yield_year: "Quotation" = _grpc_helpers.string_field(10)
|
|
yield_: "Quotation" = _grpc_helpers.string_field(11)
|
|
yield_year: "Quotation" = _grpc_helpers.string_field(12)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetSignalsRequest(_grpc_helpers.Message):
|
|
signal_id: Optional[str] = _grpc_helpers.string_field(1)
|
|
strategy_id: Optional[str] = _grpc_helpers.string_field(2)
|
|
strategy_type: Optional["StrategyType"] = _grpc_helpers.message_field(3)
|
|
instrument_uid: Optional[str] = _grpc_helpers.string_field(4)
|
|
from_: Optional[datetime] = _grpc_helpers.message_field(5)
|
|
to: Optional[datetime] = _grpc_helpers.message_field(6)
|
|
direction: Optional["SignalDirection"] = _grpc_helpers.message_field(7)
|
|
active: Optional[SignalState] = _grpc_helpers.message_field(8)
|
|
paging: Optional["Page"] = _grpc_helpers.message_field(9)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetSignalsResponse(_grpc_helpers.Message):
|
|
signals: List["Signal"] = _grpc_helpers.message_field(1)
|
|
paging: "PageResponse" = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Signal(_grpc_helpers.Message):
|
|
signal_id: str = _grpc_helpers.string_field(1)
|
|
strategy_id: str = _grpc_helpers.string_field(2)
|
|
strategy_name: str = _grpc_helpers.string_field(3)
|
|
instrument_uid: str = _grpc_helpers.string_field(4)
|
|
create_dt: datetime = _grpc_helpers.message_field(5)
|
|
direction: "SignalDirection" = _grpc_helpers.message_field(6)
|
|
initial_price: "Quotation" = _grpc_helpers.message_field(7)
|
|
info: Optional[str] = _grpc_helpers.string_field(8)
|
|
name: str = _grpc_helpers.string_field(9)
|
|
target_price: "Quotation" = _grpc_helpers.message_field(10)
|
|
end_dt: datetime = _grpc_helpers.message_field(11)
|
|
probability: int = _grpc_helpers.int32_field(12)
|
|
stoploss: "Quotation" = _grpc_helpers.message_field(13)
|
|
close_price: "Quotation" = _grpc_helpers.message_field(14)
|
|
close_dt: Optional[datetime] = _grpc_helpers.message_field(15)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class StructuredNoteResponse(_grpc_helpers.Message):
|
|
instrument: "StructuredNote" = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class StructuredNotesResponse(_grpc_helpers.Message):
|
|
instruments: List["StructuredNote"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class StructuredNote(_grpc_helpers.Message):
|
|
uid: str = _grpc_helpers.string_field(1)
|
|
figi: str = _grpc_helpers.string_field(2)
|
|
ticker: str = _grpc_helpers.string_field(3)
|
|
class_code: str = _grpc_helpers.string_field(4)
|
|
isin: str = _grpc_helpers.string_field(5)
|
|
name: str = _grpc_helpers.string_field(6)
|
|
asset_uid: str = _grpc_helpers.string_field(7)
|
|
position_uid: str = _grpc_helpers.string_field(8)
|
|
min_price_increment: "Quotation" = _grpc_helpers.message_field(9)
|
|
lot: int = _grpc_helpers.int32_field(10)
|
|
nominal: "MoneyValue" = _grpc_helpers.message_field(11)
|
|
currency: str = _grpc_helpers.string_field(12)
|
|
maturity_date: datetime = _grpc_helpers.message_field(13)
|
|
placement_date: datetime = _grpc_helpers.message_field(14)
|
|
issue_kind: str = _grpc_helpers.string_field(15)
|
|
issue_size: int = _grpc_helpers.int32_field(16)
|
|
issue_size_plan: int = _grpc_helpers.int32_field(17)
|
|
dlong_client: "Quotation" = _grpc_helpers.message_field(18)
|
|
dshort_client: "Quotation" = _grpc_helpers.message_field(19)
|
|
short_enabled_flag: bool = _grpc_helpers.bool_field(20)
|
|
exchange: str = _grpc_helpers.string_field(21)
|
|
trading_status: "SecurityTradingStatus" = _grpc_helpers.message_field(22)
|
|
api_trade_available_flag: bool = _grpc_helpers.bool_field(23)
|
|
buy_available_flag: bool = _grpc_helpers.bool_field(24)
|
|
sell_available_flag: bool = _grpc_helpers.bool_field(25)
|
|
limit_order_available_flag: bool = _grpc_helpers.bool_field(26)
|
|
market_order_available_flag: bool = _grpc_helpers.bool_field(27)
|
|
bestprice_order_available_flag: bool = _grpc_helpers.bool_field(28)
|
|
weekend_flag: bool = _grpc_helpers.bool_field(29)
|
|
liquidity_flag: bool = _grpc_helpers.bool_field(30)
|
|
for_iis_flag: bool = _grpc_helpers.bool_field(31)
|
|
for_qual_investor_flag: bool = _grpc_helpers.bool_field(32)
|
|
pawnshop_list_flag: bool = _grpc_helpers.bool_field(33)
|
|
real_exchange: "RealExchange" = _grpc_helpers.message_field(34)
|
|
first_1min_candle_date: datetime = _grpc_helpers.message_field(35)
|
|
first_1day_candle_date: datetime = _grpc_helpers.message_field(36)
|
|
borrow_name: str = _grpc_helpers.string_field(37)
|
|
type: str = _grpc_helpers.string_field(38)
|
|
logic_portfolio: "LogicPortfolio" = _grpc_helpers.message_field(39)
|
|
asset_type: "AssetType" = _grpc_helpers.message_field(40)
|
|
basic_assets: List["BasicAsset"] = _grpc_helpers.message_field(41)
|
|
safety_barrier: "Quotation" = _grpc_helpers.message_field(42)
|
|
coupon_period_base: str = _grpc_helpers.string_field(43)
|
|
observation_principle: "ObservationPrinciple" = _grpc_helpers.message_field(44)
|
|
observation_frequency: str = _grpc_helpers.string_field(45)
|
|
initial_price_fixing_date: datetime = _grpc_helpers.message_field(46)
|
|
yield_: List["Yield"] = _grpc_helpers.message_field(47)
|
|
coupon_saving_flag: bool = _grpc_helpers.bool_field(48)
|
|
sector: str = _grpc_helpers.string_field(49)
|
|
country_of_risk: str = _grpc_helpers.string_field(50)
|
|
country_of_risk_name: str = _grpc_helpers.string_field(51)
|
|
logo_name: str = _grpc_helpers.string_field(52)
|
|
required_tests: List[str] = _grpc_helpers.message_field(50)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class BasicAsset(_grpc_helpers.Message):
|
|
uid: str = _grpc_helpers.string_field(1)
|
|
type: "AssetType" = _grpc_helpers.message_field(2)
|
|
initial_price: "Quotation" = _grpc_helpers.message_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class Yield(_grpc_helpers.Message):
|
|
type: "YieldType" = _grpc_helpers.message_field(1)
|
|
value: "Quotation" = _grpc_helpers.message_field(2)
|
|
|
|
|
|
class LogicPortfolio(_grpc_helpers.Enum):
|
|
LOGIC_PORTFOLIO_UNSPECIFIED = 0
|
|
LOGIC_PORTFOLIO_VOLATILITY = 1
|
|
LOGIC_PORTFOLIO_CORRELATION = 2
|
|
|
|
|
|
class ObservationPrinciple(_grpc_helpers.Enum):
|
|
OBSERVATION_PRINCIPLE_UNSPECIFIED = 0
|
|
OBSERVATION_PRINCIPLE_WORST_BASIC_ASSET = 1
|
|
OBSERVATION_PRINCIPLE_BEST_BASIC_ASSET = 2
|
|
OBSERVATION_PRINCIPLE_AVERAGE_OF_BASIC_ASSETS = 3
|
|
OBSERVATION_PRINCIPLE_SINGLE_BASIC_ASSET_PERFORMANCE = 4
|
|
|
|
|
|
class YieldType(_grpc_helpers.Enum):
|
|
YIELD_TYPE_UNSPECIFIED = 0
|
|
YIELD_TYPE_GUARANTED_COUPON = 1
|
|
YIELD_TYPE_CONDITIONAL_COUPON = 2
|
|
YIELD_TYPE_PARTICIPATION = 3
|
|
|
|
|
|
class AccountValue(_grpc_helpers.Enum):
|
|
ACCOUNT_VALUE_UNSPECIFIED = 0
|
|
ACCOUNT_VALUE_MARGIN_FEE = 1
|
|
ACCOUNT_VALUE_AMOUNT_WITHOUT_EXTRA_FEE = 2
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetBankAccountsRequest(_grpc_helpers.Message):
|
|
pass
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetBankAccountsResponse(_grpc_helpers.Message):
|
|
bank_accounts: List["BankAccount"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class BankAccount(_grpc_helpers.Message):
|
|
id: str = _grpc_helpers.string_field(1)
|
|
name: str = _grpc_helpers.string_field(2)
|
|
money: List["MoneyValue"] = _grpc_helpers.message_field(3)
|
|
opened_date: datetime = _grpc_helpers.message_field(4)
|
|
type: "AccountType" = _grpc_helpers.message_field(5)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class CurrencyTransferRequest(_grpc_helpers.Message):
|
|
from_account_id: str = _grpc_helpers.string_field(1)
|
|
to_account_id: str = _grpc_helpers.string_field(2)
|
|
amount: "MoneyValue" = _grpc_helpers.message_field(3)
|
|
transaction_id: str = _grpc_helpers.string_field(4)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class CurrencyTransferResponse(_grpc_helpers.Message):
|
|
pass
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PayInRequest(_grpc_helpers.Message):
|
|
from_account_id: str = _grpc_helpers.string_field(1)
|
|
to_account_id: str = _grpc_helpers.string_field(2)
|
|
amount: "MoneyValue" = _grpc_helpers.message_field(3)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class PayInResponse(_grpc_helpers.Message):
|
|
pass
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetAccountValuesRequest(_grpc_helpers.Message):
|
|
accounts: List[str] = _grpc_helpers.message_field(1)
|
|
values: List["AccountValue"] = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class GetAccountValuesResponse(_grpc_helpers.Message):
|
|
accounts: List["AccountValuesWithParameters"] = _grpc_helpers.message_field(1)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class AccountValuesWithParameters(_grpc_helpers.Message):
|
|
account_id: str = _grpc_helpers.string_field(1)
|
|
values: List["InstrumentParameter"] = _grpc_helpers.message_field(2)
|
|
|
|
|
|
@dataclass(eq=False, repr=True)
|
|
class InstrumentParameter(_grpc_helpers.Message):
|
|
name: AccountValue = _grpc_helpers.message_field(1)
|
|
value: "MoneyValue" = _grpc_helpers.message_field(2)
|