Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wiseplat
GitHub Repository: wiseplat/python-code
Path: blob/master/ invest-robot-contest_TinkoffBotTwitch-main/venv/lib/python3.8/site-packages/tinkoff/invest/schemas.py
7826 views
1
# pylint:disable=too-many-lines
2
# pylint:disable=too-many-instance-attributes
3
from dataclasses import dataclass
4
from datetime import datetime
5
from typing import List
6
7
from . import _grpc_helpers
8
9
10
class SecurityTradingStatus(_grpc_helpers.Enum):
11
SECURITY_TRADING_STATUS_UNSPECIFIED = 0
12
SECURITY_TRADING_STATUS_NOT_AVAILABLE_FOR_TRADING = 1
13
SECURITY_TRADING_STATUS_OPENING_PERIOD = 2
14
SECURITY_TRADING_STATUS_CLOSING_PERIOD = 3
15
SECURITY_TRADING_STATUS_BREAK_IN_TRADING = 4
16
SECURITY_TRADING_STATUS_NORMAL_TRADING = 5
17
SECURITY_TRADING_STATUS_CLOSING_AUCTION = 6
18
SECURITY_TRADING_STATUS_DARK_POOL_AUCTION = 7
19
SECURITY_TRADING_STATUS_DISCRETE_AUCTION = 8
20
SECURITY_TRADING_STATUS_OPENING_AUCTION_PERIOD = 9
21
SECURITY_TRADING_STATUS_TRADING_AT_CLOSING_AUCTION_PRICE = 10
22
SECURITY_TRADING_STATUS_SESSION_ASSIGNED = 11
23
SECURITY_TRADING_STATUS_SESSION_CLOSE = 12
24
SECURITY_TRADING_STATUS_SESSION_OPEN = 13
25
SECURITY_TRADING_STATUS_DEALER_NORMAL_TRADING = 14
26
SECURITY_TRADING_STATUS_DEALER_BREAK_IN_TRADING = 15
27
SECURITY_TRADING_STATUS_DEALER_NOT_AVAILABLE_FOR_TRADING = 16
28
29
30
class InstrumentIdType(_grpc_helpers.Enum):
31
INSTRUMENT_ID_UNSPECIFIED = 0
32
INSTRUMENT_ID_TYPE_FIGI = 1
33
INSTRUMENT_ID_TYPE_TICKER = 2
34
INSTRUMENT_ID_TYPE_UID = 3
35
36
37
class InstrumentStatus(_grpc_helpers.Enum):
38
INSTRUMENT_STATUS_UNSPECIFIED = 0
39
INSTRUMENT_STATUS_BASE = 1
40
INSTRUMENT_STATUS_ALL = 2
41
42
43
class ShareType(_grpc_helpers.Enum):
44
SHARE_TYPE_UNSPECIFIED = 0
45
SHARE_TYPE_COMMON = 1
46
SHARE_TYPE_PREFERRED = 2
47
SHARE_TYPE_ADR = 3
48
SHARE_TYPE_GDR = 4
49
SHARE_TYPE_MLP = 5
50
SHARE_TYPE_NY_REG_SHRS = 6
51
SHARE_TYPE_CLOSED_END_FUND = 7
52
SHARE_TYPE_REIT = 8
53
54
55
class SubscriptionAction(_grpc_helpers.Enum):
56
SUBSCRIPTION_ACTION_UNSPECIFIED = 0
57
SUBSCRIPTION_ACTION_SUBSCRIBE = 1
58
SUBSCRIPTION_ACTION_UNSUBSCRIBE = 2
59
60
61
class SubscriptionInterval(_grpc_helpers.Enum):
62
SUBSCRIPTION_INTERVAL_UNSPECIFIED = 0
63
SUBSCRIPTION_INTERVAL_ONE_MINUTE = 1
64
SUBSCRIPTION_INTERVAL_FIVE_MINUTES = 2
65
66
67
class SubscriptionStatus(_grpc_helpers.Enum):
68
SUBSCRIPTION_STATUS_UNSPECIFIED = 0
69
SUBSCRIPTION_STATUS_SUCCESS = 1
70
SUBSCRIPTION_STATUS_INSTRUMENT_NOT_FOUND = 2
71
SUBSCRIPTION_STATUS_SUBSCRIPTION_ACTION_IS_INVALID = 3
72
SUBSCRIPTION_STATUS_DEPTH_IS_INVALID = 4
73
SUBSCRIPTION_STATUS_INTERVAL_IS_INVALID = 5
74
SUBSCRIPTION_STATUS_LIMIT_IS_EXCEEDED = 6
75
SUBSCRIPTION_STATUS_INTERNAL_ERROR = 7
76
77
78
class TradeDirection(_grpc_helpers.Enum):
79
TRADE_DIRECTION_UNSPECIFIED = 0
80
TRADE_DIRECTION_BUY = 1
81
TRADE_DIRECTION_SELL = 2
82
83
84
class CandleInterval(_grpc_helpers.Enum):
85
CANDLE_INTERVAL_UNSPECIFIED = 0
86
CANDLE_INTERVAL_1_MIN = 1
87
CANDLE_INTERVAL_5_MIN = 2
88
CANDLE_INTERVAL_15_MIN = 3
89
CANDLE_INTERVAL_HOUR = 4
90
CANDLE_INTERVAL_DAY = 5
91
92
93
class OperationState(_grpc_helpers.Enum):
94
OPERATION_STATE_UNSPECIFIED = 0
95
OPERATION_STATE_EXECUTED = 1
96
OPERATION_STATE_CANCELED = 2
97
98
99
class OrderDirection(_grpc_helpers.Enum):
100
ORDER_DIRECTION_UNSPECIFIED = 0
101
ORDER_DIRECTION_BUY = 1
102
ORDER_DIRECTION_SELL = 2
103
104
105
class OrderType(_grpc_helpers.Enum):
106
ORDER_TYPE_UNSPECIFIED = 0
107
ORDER_TYPE_LIMIT = 1
108
ORDER_TYPE_MARKET = 2
109
110
111
class OrderExecutionReportStatus(_grpc_helpers.Enum):
112
EXECUTION_REPORT_STATUS_UNSPECIFIED = 0
113
EXECUTION_REPORT_STATUS_FILL = 1
114
EXECUTION_REPORT_STATUS_REJECTED = 2
115
EXECUTION_REPORT_STATUS_CANCELLED = 3
116
EXECUTION_REPORT_STATUS_NEW = 4
117
EXECUTION_REPORT_STATUS_PARTIALLYFILL = 5
118
119
120
class AccountType(_grpc_helpers.Enum):
121
ACCOUNT_TYPE_UNSPECIFIED = 0
122
ACCOUNT_TYPE_TINKOFF = 1
123
ACCOUNT_TYPE_TINKOFF_IIS = 2
124
ACCOUNT_TYPE_INVEST_BOX = 3
125
126
127
class AccountStatus(_grpc_helpers.Enum):
128
ACCOUNT_STATUS_UNSPECIFIED = 0
129
ACCOUNT_STATUS_NEW = 1
130
ACCOUNT_STATUS_OPEN = 2
131
ACCOUNT_STATUS_CLOSED = 3
132
133
134
class StopOrderDirection(_grpc_helpers.Enum):
135
STOP_ORDER_DIRECTION_UNSPECIFIED = 0
136
STOP_ORDER_DIRECTION_BUY = 1
137
STOP_ORDER_DIRECTION_SELL = 2
138
139
140
class StopOrderExpirationType(_grpc_helpers.Enum):
141
STOP_ORDER_EXPIRATION_TYPE_UNSPECIFIED = 0
142
STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_CANCEL = 1
143
STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_DATE = 2
144
145
146
class StopOrderType(_grpc_helpers.Enum):
147
STOP_ORDER_TYPE_UNSPECIFIED = 0
148
STOP_ORDER_TYPE_TAKE_PROFIT = 1
149
STOP_ORDER_TYPE_STOP_LOSS = 2
150
STOP_ORDER_TYPE_STOP_LIMIT = 3
151
152
153
class OperationType(_grpc_helpers.Enum):
154
OPERATION_TYPE_UNSPECIFIED = 0
155
OPERATION_TYPE_INPUT = 1
156
OPERATION_TYPE_BOND_TAX = 2
157
OPERATION_TYPE_OUTPUT_SECURITIES = 3
158
OPERATION_TYPE_OVERNIGHT = 4
159
OPERATION_TYPE_TAX = 5
160
OPERATION_TYPE_BOND_REPAYMENT_FULL = 6
161
OPERATION_TYPE_SELL_CARD = 7
162
OPERATION_TYPE_DIVIDEND_TAX = 8
163
OPERATION_TYPE_OUTPUT = 9
164
OPERATION_TYPE_BOND_REPAYMENT = 10
165
OPERATION_TYPE_TAX_CORRECTION = 11
166
OPERATION_TYPE_SERVICE_FEE = 12
167
OPERATION_TYPE_BENEFIT_TAX = 13
168
OPERATION_TYPE_MARGIN_FEE = 14
169
OPERATION_TYPE_BUY = 15
170
OPERATION_TYPE_BUY_CARD = 16
171
OPERATION_TYPE_INPUT_SECURITIES = 17
172
OPERATION_TYPE_SELL_MARGIN = 18
173
OPERATION_TYPE_BROKER_FEE = 19
174
OPERATION_TYPE_BUY_MARGIN = 20
175
OPERATION_TYPE_DIVIDEND = 21
176
OPERATION_TYPE_SELL = 22
177
OPERATION_TYPE_COUPON = 23
178
OPERATION_TYPE_SUCCESS_FEE = 24
179
OPERATION_TYPE_DIVIDEND_TRANSFER = 25
180
OPERATION_TYPE_ACCRUING_VARMARGIN = 26
181
OPERATION_TYPE_WRITING_OFF_VARMARGIN = 27
182
OPERATION_TYPE_DELIVERY_BUY = 28
183
OPERATION_TYPE_DELIVERY_SELL = 29
184
OPERATION_TYPE_TRACK_MFEE = 30
185
OPERATION_TYPE_TRACK_PFEE = 31
186
OPERATION_TYPE_TAX_PROGRESSIVE = 32
187
OPERATION_TYPE_BOND_TAX_PROGRESSIVE = 33
188
OPERATION_TYPE_DIVIDEND_TAX_PROGRESSIVE = 34
189
OPERATION_TYPE_BENEFIT_TAX_PROGRESSIVE = 35
190
OPERATION_TYPE_TAX_CORRECTION_PROGRESSIVE = 36
191
OPERATION_TYPE_TAX_REPO_PROGRESSIVE = 37
192
OPERATION_TYPE_TAX_REPO = 38
193
OPERATION_TYPE_TAX_REPO_HOLD = 39
194
OPERATION_TYPE_TAX_REPO_REFUND = 40
195
OPERATION_TYPE_TAX_REPO_HOLD_PROGRESSIVE = 41
196
OPERATION_TYPE_TAX_REPO_REFUND_PROGRESSIVE = 42
197
OPERATION_TYPE_DIV_EXT = 43
198
OPERATION_TYPE_TAX_CORRECTION_COUPON = 44
199
200
201
class AccessLevel(_grpc_helpers.Enum):
202
ACCOUNT_ACCESS_LEVEL_UNSPECIFIED = 0
203
ACCOUNT_ACCESS_LEVEL_FULL_ACCESS = 1
204
ACCOUNT_ACCESS_LEVEL_READ_ONLY = 2
205
ACCOUNT_ACCESS_LEVEL_NO_ACCESS = 3
206
207
208
class CouponType(_grpc_helpers.Enum):
209
COUPON_TYPE_UNSPECIFIED = 0
210
COUPON_TYPE_CONSTANT = 1
211
COUPON_TYPE_FLOATING = 2
212
COUPON_TYPE_DISCOUNT = 3
213
COUPON_TYPE_MORTGAGE = 4
214
COUPON_TYPE_FIX = 5
215
COUPON_TYPE_VARIABLE = 6
216
COUPON_TYPE_OTHER = 7
217
218
219
class AssetType(_grpc_helpers.Enum):
220
ASSET_TYPE_UNSPECIFIED = 0
221
ASSET_TYPE_CURRENCY = 1
222
ASSET_TYPE_COMMODITY = 2
223
ASSET_TYPE_INDEX = 3
224
ASSET_TYPE_SECURITY = 4
225
226
227
class StructuredProductType(_grpc_helpers.Enum):
228
SP_TYPE_UNSPECIFIED = 0
229
SP_TYPE_DELIVERABLE = 1
230
SP_TYPE_NON_DELIVERABLE = 2
231
232
233
class EditFavoritesActionType(_grpc_helpers.Enum):
234
EDIT_FAVORITES_ACTION_TYPE_UNSPECIFIED = 0
235
EDIT_FAVORITES_ACTION_TYPE_ADD = 1
236
EDIT_FAVORITES_ACTION_TYPE_DEL = 2
237
238
239
class RealExchange(_grpc_helpers.Enum):
240
REAL_EXCHANGE_UNSPECIFIED = 0
241
REAL_EXCHANGE_MOEX = 1
242
REAL_EXCHANGE_RTS = 2
243
REAL_EXCHANGE_OTC = 3
244
245
246
@dataclass(eq=False, repr=True)
247
class MoneyValue(_grpc_helpers.Message):
248
currency: str = _grpc_helpers.string_field(1)
249
units: int = _grpc_helpers.int64_field(2)
250
nano: int = _grpc_helpers.int32_field(3)
251
252
253
@dataclass(eq=False, repr=True)
254
class Quotation(_grpc_helpers.Message):
255
units: int = _grpc_helpers.int64_field(1)
256
nano: int = _grpc_helpers.int32_field(2)
257
258
259
@dataclass(eq=False, repr=True)
260
class Ping(_grpc_helpers.Message):
261
time: datetime = _grpc_helpers.int64_field(1)
262
263
264
@dataclass(eq=False, repr=True)
265
class TradingSchedulesRequest(_grpc_helpers.Message):
266
exchange: str = _grpc_helpers.string_field(1)
267
from_: datetime = _grpc_helpers.message_field(2)
268
to: datetime = _grpc_helpers.message_field(3)
269
270
271
@dataclass(eq=False, repr=True)
272
class TradingSchedulesResponse(_grpc_helpers.Message):
273
exchanges: List["TradingSchedule"] = _grpc_helpers.message_field(1)
274
275
276
@dataclass(eq=False, repr=True)
277
class TradingSchedule(_grpc_helpers.Message):
278
exchange: str = _grpc_helpers.string_field(1)
279
days: List["TradingDay"] = _grpc_helpers.message_field(2)
280
281
282
@dataclass(eq=False, repr=True)
283
class TradingDay(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
284
date: datetime = _grpc_helpers.message_field(1)
285
is_trading_day: bool = _grpc_helpers.bool_field(2)
286
start_time: datetime = _grpc_helpers.message_field(3)
287
end_time: datetime = _grpc_helpers.message_field(4)
288
# reserved 5,6
289
opening_auction_start_time: datetime = _grpc_helpers.message_field(7)
290
closing_auction_end_time: datetime = _grpc_helpers.message_field(8)
291
evening_opening_auction_start_time: datetime = _grpc_helpers.message_field(9)
292
evening_start_time: datetime = _grpc_helpers.message_field(10)
293
evening_end_time: datetime = _grpc_helpers.message_field(11)
294
clearing_start_time: datetime = _grpc_helpers.message_field(12)
295
clearing_end_time: datetime = _grpc_helpers.message_field(13)
296
premarket_start_time: datetime = _grpc_helpers.message_field(14)
297
premarket_end_time: datetime = _grpc_helpers.message_field(15)
298
299
300
@dataclass(eq=False, repr=True)
301
class InstrumentRequest(_grpc_helpers.Message):
302
id_type: "InstrumentIdType" = _grpc_helpers.enum_field(1)
303
class_code: str = _grpc_helpers.string_field(2)
304
id: str = _grpc_helpers.string_field(3)
305
306
307
@dataclass(eq=False, repr=True)
308
class InstrumentsRequest(_grpc_helpers.Message):
309
instrument_status: "InstrumentStatus" = _grpc_helpers.enum_field(1)
310
311
312
@dataclass(eq=False, repr=True)
313
class BondResponse(_grpc_helpers.Message):
314
instrument: "Bond" = _grpc_helpers.message_field(1)
315
316
317
@dataclass(eq=False, repr=True)
318
class BondsResponse(_grpc_helpers.Message):
319
instruments: List["Bond"] = _grpc_helpers.message_field(1)
320
321
322
@dataclass(eq=False, repr=True)
323
class GetBondCouponsRequest(_grpc_helpers.Message):
324
figi: str = _grpc_helpers.string_field(1)
325
from_: datetime = _grpc_helpers.message_field(2)
326
to: datetime = _grpc_helpers.message_field(3)
327
328
329
@dataclass(eq=False, repr=True)
330
class GetBondCouponsResponse(_grpc_helpers.Message):
331
events: List["Coupon"] = _grpc_helpers.message_field(1)
332
333
334
@dataclass(eq=False, repr=True)
335
class Coupon(_grpc_helpers.Message):
336
figi: str = _grpc_helpers.string_field(1)
337
coupon_date: datetime = _grpc_helpers.message_field(2)
338
coupon_number: int = _grpc_helpers.int64_field(3)
339
fix_date: datetime = _grpc_helpers.message_field(4)
340
pay_one_bond: "MoneyValue" = _grpc_helpers.message_field(5)
341
coupon_type: "CouponType" = _grpc_helpers.message_field(6)
342
coupon_start_date: datetime = _grpc_helpers.message_field(7)
343
coupon_end_date: datetime = _grpc_helpers.message_field(8)
344
coupon_period: int = _grpc_helpers.int32_field(9)
345
346
347
@dataclass(eq=False, repr=True)
348
class CurrencyResponse(_grpc_helpers.Message):
349
instrument: "Currency" = _grpc_helpers.message_field(1)
350
351
352
@dataclass(eq=False, repr=True)
353
class CurrenciesResponse(_grpc_helpers.Message):
354
instruments: List["Currency"] = _grpc_helpers.message_field(1)
355
356
357
@dataclass(eq=False, repr=True)
358
class EtfResponse(_grpc_helpers.Message):
359
instrument: "Etf" = _grpc_helpers.message_field(1)
360
361
362
@dataclass(eq=False, repr=True)
363
class EtfsResponse(_grpc_helpers.Message):
364
instruments: List["Etf"] = _grpc_helpers.message_field(1)
365
366
367
@dataclass(eq=False, repr=True)
368
class FutureResponse(_grpc_helpers.Message):
369
instrument: "Future" = _grpc_helpers.message_field(1)
370
371
372
@dataclass(eq=False, repr=True)
373
class FuturesResponse(_grpc_helpers.Message):
374
instruments: List["Future"] = _grpc_helpers.message_field(1)
375
376
377
@dataclass(eq=False, repr=True)
378
class ShareResponse(_grpc_helpers.Message):
379
instrument: "Share" = _grpc_helpers.message_field(1)
380
381
382
@dataclass(eq=False, repr=True)
383
class SharesResponse(_grpc_helpers.Message):
384
instruments: List["Share"] = _grpc_helpers.message_field(1)
385
386
387
@dataclass(eq=False, repr=True)
388
class Bond(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
389
figi: str = _grpc_helpers.string_field(1)
390
ticker: str = _grpc_helpers.string_field(2)
391
class_code: str = _grpc_helpers.string_field(3)
392
isin: str = _grpc_helpers.string_field(4)
393
lot: int = _grpc_helpers.int32_field(5)
394
currency: str = _grpc_helpers.string_field(6)
395
klong: "Quotation" = _grpc_helpers.message_field(7)
396
kshort: "Quotation" = _grpc_helpers.message_field(8)
397
dlong: "Quotation" = _grpc_helpers.message_field(9)
398
dshort: "Quotation" = _grpc_helpers.message_field(10)
399
dlong_min: "Quotation" = _grpc_helpers.message_field(11)
400
dshort_min: "Quotation" = _grpc_helpers.message_field(12)
401
short_enabled_flag: bool = _grpc_helpers.bool_field(13)
402
name: str = _grpc_helpers.string_field(15)
403
exchange: str = _grpc_helpers.string_field(16)
404
coupon_quantity_per_year: int = _grpc_helpers.int32_field(17)
405
maturity_date: datetime = _grpc_helpers.message_field(18)
406
nominal: "MoneyValue" = _grpc_helpers.message_field(19)
407
state_reg_date: datetime = _grpc_helpers.message_field(21)
408
placement_date: datetime = _grpc_helpers.message_field(22)
409
placement_price: "MoneyValue" = _grpc_helpers.message_field(23)
410
aci_value: "MoneyValue" = _grpc_helpers.message_field(24)
411
country_of_risk: str = _grpc_helpers.string_field(25)
412
country_of_risk_name: str = _grpc_helpers.string_field(26)
413
sector: str = _grpc_helpers.string_field(27)
414
issue_kind: str = _grpc_helpers.string_field(28)
415
issue_size: int = _grpc_helpers.int64_field(29)
416
issue_size_plan: int = _grpc_helpers.int64_field(30)
417
trading_status: "SecurityTradingStatus" = _grpc_helpers.enum_field(31)
418
otc_flag: bool = _grpc_helpers.bool_field(32)
419
buy_available_flag: bool = _grpc_helpers.bool_field(33)
420
sell_available_flag: bool = _grpc_helpers.bool_field(34)
421
floating_coupon_flag: bool = _grpc_helpers.bool_field(35)
422
perpetual_flag: bool = _grpc_helpers.bool_field(36)
423
amortization_flag: bool = _grpc_helpers.bool_field(37)
424
min_price_increment: "Quotation" = _grpc_helpers.message_field(38)
425
api_trade_available_flag: bool = _grpc_helpers.bool_field(39)
426
uid: str = _grpc_helpers.string_field(40)
427
real_exchange: "RealExchange" = _grpc_helpers.message_field(41)
428
429
430
@dataclass(eq=False, repr=True)
431
class Currency(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
432
figi: str = _grpc_helpers.string_field(1)
433
ticker: str = _grpc_helpers.string_field(2)
434
class_code: str = _grpc_helpers.string_field(3)
435
isin: str = _grpc_helpers.string_field(4)
436
lot: int = _grpc_helpers.int32_field(5)
437
currency: str = _grpc_helpers.string_field(6)
438
klong: "Quotation" = _grpc_helpers.message_field(7)
439
kshort: "Quotation" = _grpc_helpers.message_field(8)
440
dlong: "Quotation" = _grpc_helpers.message_field(9)
441
dshort: "Quotation" = _grpc_helpers.message_field(10)
442
dlong_min: "Quotation" = _grpc_helpers.message_field(11)
443
dshort_min: "Quotation" = _grpc_helpers.message_field(12)
444
short_enabled_flag: bool = _grpc_helpers.bool_field(13)
445
name: str = _grpc_helpers.string_field(15)
446
exchange: str = _grpc_helpers.string_field(16)
447
nominal: "MoneyValue" = _grpc_helpers.message_field(17)
448
country_of_risk: str = _grpc_helpers.string_field(18)
449
country_of_risk_name: str = _grpc_helpers.string_field(19)
450
trading_status: "SecurityTradingStatus" = _grpc_helpers.enum_field(20)
451
otc_flag: bool = _grpc_helpers.bool_field(21)
452
buy_available_flag: bool = _grpc_helpers.bool_field(22)
453
sell_available_flag: bool = _grpc_helpers.bool_field(23)
454
iso_currency_name: str = _grpc_helpers.string_field(24)
455
min_price_increment: "Quotation" = _grpc_helpers.message_field(25)
456
api_trade_available_flag: bool = _grpc_helpers.bool_field(26)
457
uid: str = _grpc_helpers.string_field(27)
458
real_exchange: "RealExchange" = _grpc_helpers.message_field(28)
459
460
461
@dataclass(eq=False, repr=True)
462
class Etf(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
463
figi: str = _grpc_helpers.string_field(1)
464
ticker: str = _grpc_helpers.string_field(2)
465
class_code: str = _grpc_helpers.string_field(3)
466
isin: str = _grpc_helpers.string_field(4)
467
lot: int = _grpc_helpers.int32_field(5)
468
currency: str = _grpc_helpers.string_field(6)
469
klong: "Quotation" = _grpc_helpers.message_field(7)
470
kshort: "Quotation" = _grpc_helpers.message_field(8)
471
dlong: "Quotation" = _grpc_helpers.message_field(9)
472
dshort: "Quotation" = _grpc_helpers.message_field(10)
473
dlong_min: "Quotation" = _grpc_helpers.message_field(11)
474
dshort_min: "Quotation" = _grpc_helpers.message_field(12)
475
short_enabled_flag: bool = _grpc_helpers.bool_field(13)
476
name: str = _grpc_helpers.string_field(15)
477
exchange: str = _grpc_helpers.string_field(16)
478
fixed_commission: "Quotation" = _grpc_helpers.message_field(17)
479
focus_type: str = _grpc_helpers.string_field(18)
480
released_date: datetime = _grpc_helpers.message_field(19)
481
num_shares: "Quotation" = _grpc_helpers.message_field(20)
482
country_of_risk: str = _grpc_helpers.string_field(21)
483
country_of_risk_name: str = _grpc_helpers.string_field(22)
484
sector: str = _grpc_helpers.string_field(23)
485
rebalancing_freq: str = _grpc_helpers.string_field(24)
486
trading_status: "SecurityTradingStatus" = _grpc_helpers.enum_field(25)
487
otc_flag: bool = _grpc_helpers.bool_field(26)
488
buy_available_flag: bool = _grpc_helpers.bool_field(27)
489
sell_available_flag: bool = _grpc_helpers.bool_field(28)
490
min_price_increment: "Quotation" = _grpc_helpers.message_field(29)
491
api_trade_available_flag: bool = _grpc_helpers.bool_field(30)
492
uid: str = _grpc_helpers.string_field(31)
493
real_exchange: "RealExchange" = _grpc_helpers.message_field(32)
494
495
496
@dataclass(eq=False, repr=True)
497
class Future(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
498
figi: str = _grpc_helpers.string_field(1)
499
ticker: str = _grpc_helpers.string_field(2)
500
class_code: str = _grpc_helpers.string_field(3)
501
lot: int = _grpc_helpers.int32_field(4)
502
currency: str = _grpc_helpers.string_field(5)
503
klong: "Quotation" = _grpc_helpers.message_field(6)
504
kshort: "Quotation" = _grpc_helpers.message_field(7)
505
dlong: "Quotation" = _grpc_helpers.message_field(8)
506
dshort: "Quotation" = _grpc_helpers.message_field(9)
507
dlong_min: "Quotation" = _grpc_helpers.message_field(10)
508
dshort_min: "Quotation" = _grpc_helpers.message_field(11)
509
short_enabled_flag: bool = _grpc_helpers.bool_field(12)
510
name: str = _grpc_helpers.string_field(13)
511
exchange: str = _grpc_helpers.string_field(14)
512
first_trade_date: datetime = _grpc_helpers.message_field(15)
513
last_trade_date: datetime = _grpc_helpers.message_field(16)
514
futures_type: str = _grpc_helpers.string_field(17)
515
asset_type: str = _grpc_helpers.string_field(18)
516
basic_asset: str = _grpc_helpers.string_field(19)
517
basic_asset_size: "Quotation" = _grpc_helpers.message_field(20)
518
country_of_risk: str = _grpc_helpers.string_field(21)
519
country_of_risk_name: str = _grpc_helpers.string_field(22)
520
sector: str = _grpc_helpers.string_field(23)
521
expiration_date: datetime = _grpc_helpers.message_field(24)
522
trading_status: "SecurityTradingStatus" = _grpc_helpers.enum_field(25)
523
otc_flag: bool = _grpc_helpers.bool_field(26)
524
buy_available_flag: bool = _grpc_helpers.bool_field(27)
525
sell_available_flag: bool = _grpc_helpers.bool_field(28)
526
min_price_increment: "Quotation" = _grpc_helpers.message_field(29)
527
api_trade_available_flag: bool = _grpc_helpers.bool_field(30)
528
uid: str = _grpc_helpers.string_field(31)
529
real_exchange: "RealExchange" = _grpc_helpers.message_field(32)
530
531
532
@dataclass(eq=False, repr=True)
533
class Share(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
534
figi: str = _grpc_helpers.string_field(1)
535
ticker: str = _grpc_helpers.string_field(2)
536
class_code: str = _grpc_helpers.string_field(3)
537
isin: str = _grpc_helpers.string_field(4)
538
lot: int = _grpc_helpers.int32_field(5)
539
currency: str = _grpc_helpers.string_field(6)
540
klong: "Quotation" = _grpc_helpers.message_field(7)
541
kshort: "Quotation" = _grpc_helpers.message_field(8)
542
dlong: "Quotation" = _grpc_helpers.message_field(9)
543
dshort: "Quotation" = _grpc_helpers.message_field(10)
544
dlong_min: "Quotation" = _grpc_helpers.message_field(11)
545
dshort_min: "Quotation" = _grpc_helpers.message_field(12)
546
short_enabled_flag: bool = _grpc_helpers.bool_field(13)
547
name: str = _grpc_helpers.string_field(15)
548
exchange: str = _grpc_helpers.string_field(16)
549
ipo_date: datetime = _grpc_helpers.message_field(17)
550
issue_size: int = _grpc_helpers.int64_field(18)
551
country_of_risk: str = _grpc_helpers.string_field(19)
552
country_of_risk_name: str = _grpc_helpers.string_field(20)
553
sector: str = _grpc_helpers.string_field(21)
554
issue_size_plan: int = _grpc_helpers.int64_field(22)
555
nominal: "MoneyValue" = _grpc_helpers.message_field(23)
556
trading_status: "SecurityTradingStatus" = _grpc_helpers.enum_field(25)
557
otc_flag: bool = _grpc_helpers.bool_field(26)
558
buy_available_flag: bool = _grpc_helpers.bool_field(27)
559
sell_available_flag: bool = _grpc_helpers.bool_field(28)
560
div_yield_flag: bool = _grpc_helpers.bool_field(29)
561
share_type: "ShareType" = _grpc_helpers.enum_field(30)
562
min_price_increment: "Quotation" = _grpc_helpers.message_field(31)
563
api_trade_available_flag: bool = _grpc_helpers.bool_field(32)
564
uid: str = _grpc_helpers.string_field(33)
565
real_exchange: "RealExchange" = _grpc_helpers.message_field(34)
566
567
568
@dataclass(eq=False, repr=True)
569
class GetAccruedInterestsRequest(_grpc_helpers.Message):
570
figi: str = _grpc_helpers.string_field(1)
571
from_: datetime = _grpc_helpers.message_field(2)
572
to: datetime = _grpc_helpers.message_field(3)
573
574
575
@dataclass(eq=False, repr=True)
576
class GetAccruedInterestsResponse(_grpc_helpers.Message):
577
accrued_interests: List["AccruedInterest"] = _grpc_helpers.message_field(1)
578
579
580
@dataclass(eq=False, repr=True)
581
class AccruedInterest(_grpc_helpers.Message):
582
date: datetime = _grpc_helpers.message_field(1)
583
value: "Quotation" = _grpc_helpers.message_field(2)
584
value_percent: "Quotation" = _grpc_helpers.message_field(3)
585
nominal: "Quotation" = _grpc_helpers.message_field(4)
586
587
588
@dataclass(eq=False, repr=True)
589
class GetFuturesMarginRequest(_grpc_helpers.Message):
590
figi: str = _grpc_helpers.string_field(1)
591
592
593
@dataclass(eq=False, repr=True)
594
class GetFuturesMarginResponse(_grpc_helpers.Message):
595
initial_margin_on_buy: "MoneyValue" = _grpc_helpers.message_field(1)
596
initial_margin_on_sell: "MoneyValue" = _grpc_helpers.message_field(2)
597
min_price_increment: "Quotation" = _grpc_helpers.message_field(3)
598
min_price_increment_amount: "Quotation" = _grpc_helpers.message_field(4)
599
600
601
@dataclass(eq=False, repr=True)
602
class InstrumentResponse(_grpc_helpers.Message):
603
instrument: "Instrument" = _grpc_helpers.message_field(1)
604
605
606
@dataclass(eq=False, repr=True)
607
class Instrument(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
608
figi: str = _grpc_helpers.string_field(1)
609
ticker: str = _grpc_helpers.string_field(2)
610
class_code: str = _grpc_helpers.string_field(3)
611
isin: str = _grpc_helpers.string_field(4)
612
lot: int = _grpc_helpers.int32_field(5)
613
currency: str = _grpc_helpers.string_field(6)
614
klong: "Quotation" = _grpc_helpers.message_field(7)
615
kshort: "Quotation" = _grpc_helpers.message_field(8)
616
dlong: "Quotation" = _grpc_helpers.message_field(9)
617
dshort: "Quotation" = _grpc_helpers.message_field(10)
618
dlong_min: "Quotation" = _grpc_helpers.message_field(11)
619
dshort_min: "Quotation" = _grpc_helpers.message_field(12)
620
short_enabled_flag: bool = _grpc_helpers.bool_field(13)
621
name: str = _grpc_helpers.string_field(14)
622
exchange: str = _grpc_helpers.string_field(15)
623
country_of_risk: str = _grpc_helpers.string_field(16)
624
country_of_risk_name: str = _grpc_helpers.string_field(17)
625
instrument_type: str = _grpc_helpers.string_field(18)
626
trading_status: "SecurityTradingStatus" = _grpc_helpers.enum_field(19)
627
otc_flag: bool = _grpc_helpers.bool_field(20)
628
buy_available_flag: bool = _grpc_helpers.bool_field(21)
629
sell_available_flag: bool = _grpc_helpers.bool_field(22)
630
min_price_increment: "Quotation" = _grpc_helpers.message_field(23)
631
api_trade_available_flag: bool = _grpc_helpers.bool_field(24)
632
uid: str = _grpc_helpers.string_field(25)
633
real_exchange: "RealExchange" = _grpc_helpers.message_field(26)
634
635
636
@dataclass(eq=False, repr=True)
637
class GetDividendsRequest(_grpc_helpers.Message):
638
figi: str = _grpc_helpers.string_field(1)
639
from_: datetime = _grpc_helpers.message_field(2)
640
to: datetime = _grpc_helpers.message_field(3)
641
642
643
@dataclass(eq=False, repr=True)
644
class GetDividendsResponse(_grpc_helpers.Message):
645
dividends: List["Dividend"] = _grpc_helpers.message_field(1)
646
647
648
@dataclass(eq=False, repr=True)
649
class Dividend(_grpc_helpers.Message):
650
dividend_net: "MoneyValue" = _grpc_helpers.message_field(1)
651
payment_date: datetime = _grpc_helpers.message_field(2)
652
declared_date: datetime = _grpc_helpers.message_field(3)
653
last_buy_date: datetime = _grpc_helpers.message_field(4)
654
dividend_type: str = _grpc_helpers.string_field(5)
655
record_date: datetime = _grpc_helpers.message_field(6)
656
regularity: str = _grpc_helpers.string_field(7)
657
close_price: "MoneyValue" = _grpc_helpers.message_field(8)
658
yield_value: "Quotation" = _grpc_helpers.message_field(9)
659
created_at: datetime = _grpc_helpers.message_field(10)
660
661
662
@dataclass(eq=False, repr=True)
663
class AssetRequest(_grpc_helpers.Message):
664
id: str = _grpc_helpers.string_field(1)
665
666
667
@dataclass(eq=False, repr=True)
668
class AssetResponse(_grpc_helpers.Message):
669
asset: "AssetFull" = _grpc_helpers.message_field(1)
670
671
672
@dataclass(eq=False, repr=True)
673
class AssetsRequest(_grpc_helpers.Message):
674
pass
675
676
677
@dataclass(eq=False, repr=True)
678
class AssetsResponse(_grpc_helpers.Message):
679
assets: List["Asset"] = _grpc_helpers.message_field(1)
680
681
682
@dataclass(eq=False, repr=True)
683
class AssetFull(_grpc_helpers.Message):
684
uid: str = _grpc_helpers.string_field(1)
685
type: "AssetType" = _grpc_helpers.message_field(2)
686
name: str = _grpc_helpers.string_field(3)
687
name_brief: str = _grpc_helpers.string_field(4)
688
description: str = _grpc_helpers.string_field(5)
689
deleted_at: datetime = _grpc_helpers.message_field(6)
690
required_tests: List[str] = _grpc_helpers.message_field(7)
691
currency: "AssetCurrency" = _grpc_helpers.message_field(8, group="ext")
692
security: "AssetSecurity" = _grpc_helpers.message_field(9, group="ext")
693
gos_reg_code: str = _grpc_helpers.string_field(10)
694
cfi: str = _grpc_helpers.string_field(11)
695
code_nsd: str = _grpc_helpers.string_field(12)
696
status: str = _grpc_helpers.string_field(13)
697
brand: "Brand" = _grpc_helpers.message_field(14)
698
updated_at: datetime = _grpc_helpers.message_field(15)
699
br_code: str = _grpc_helpers.string_field(16)
700
br_code_name: str = _grpc_helpers.string_field(17)
701
instruments: List["AssetInstrument"] = _grpc_helpers.message_field(18)
702
703
704
@dataclass(eq=False, repr=True)
705
class Asset(_grpc_helpers.Message):
706
uid: str = _grpc_helpers.string_field(1)
707
type: "AssetType" = _grpc_helpers.message_field(2)
708
name: str = _grpc_helpers.string_field(3)
709
instruments: List["AssetInstrument"] = _grpc_helpers.message_field(4)
710
711
712
@dataclass(eq=False, repr=True)
713
class AssetCurrency(_grpc_helpers.Message):
714
base_currency: str = _grpc_helpers.string_field(1)
715
716
717
@dataclass(eq=False, repr=True)
718
class AssetSecurity(_grpc_helpers.Message):
719
isin: str = _grpc_helpers.string_field(1)
720
type: str = _grpc_helpers.string_field(2)
721
share: "AssetShare" = _grpc_helpers.message_field(3, group="ext")
722
bond: "AssetBond" = _grpc_helpers.message_field(4, group="ext")
723
sp: "AssetStructuredProduct" = _grpc_helpers.message_field(5, group="ext")
724
etf: "AssetEtf" = _grpc_helpers.message_field(6, group="ext")
725
clearing_certificate: "AssetClearingCertificate" = _grpc_helpers.message_field(
726
7, group="ext"
727
)
728
729
730
@dataclass(eq=False, repr=True)
731
class AssetShare(_grpc_helpers.Message):
732
type: "ShareType" = _grpc_helpers.message_field(1)
733
issue_size: "Quotation" = _grpc_helpers.message_field(2)
734
nominal: "Quotation" = _grpc_helpers.message_field(3)
735
nominal_currency: str = _grpc_helpers.string_field(4)
736
primary_index: str = _grpc_helpers.string_field(5)
737
dividend_rate: "Quotation" = _grpc_helpers.message_field(6)
738
preferred_share_type: str = _grpc_helpers.string_field(7)
739
ipo_date: datetime = _grpc_helpers.message_field(8)
740
registry_date: datetime = _grpc_helpers.message_field(9)
741
div_yield_flag: bool = _grpc_helpers.bool_field(10)
742
issue_kind: str = _grpc_helpers.string_field(11)
743
placement_date: datetime = _grpc_helpers.message_field(12)
744
repres_isin: str = _grpc_helpers.string_field(13)
745
issue_size_plan: "Quotation" = _grpc_helpers.message_field(14)
746
total_float: "Quotation" = _grpc_helpers.message_field(15)
747
748
749
@dataclass(eq=False, repr=True)
750
class AssetBond(_grpc_helpers.Message):
751
current_nominal: "Quotation" = _grpc_helpers.message_field(1)
752
borrow_name: str = _grpc_helpers.string_field(2)
753
issue_size: "Quotation" = _grpc_helpers.message_field(3)
754
nominal: "Quotation" = _grpc_helpers.message_field(4)
755
nominal_currency: str = _grpc_helpers.string_field(5)
756
issue_kind: str = _grpc_helpers.string_field(6)
757
interest_kind: str = _grpc_helpers.string_field(7)
758
coupon_quantity_per_year: int = _grpc_helpers.int32_field(8)
759
indexed_nominal_flag: bool = _grpc_helpers.bool_field(9)
760
subordinated_flag: bool = _grpc_helpers.bool_field(10)
761
collateral_flag: bool = _grpc_helpers.bool_field(11)
762
tax_free_flag: bool = _grpc_helpers.bool_field(12)
763
amortization_flag: bool = _grpc_helpers.bool_field(13)
764
floating_coupon_flag: bool = _grpc_helpers.bool_field(14)
765
perpetual_flag: bool = _grpc_helpers.bool_field(15)
766
maturity_date: datetime = _grpc_helpers.message_field(16)
767
return_condition: str = _grpc_helpers.string_field(17)
768
state_reg_date: datetime = _grpc_helpers.message_field(18)
769
placement_date: datetime = _grpc_helpers.message_field(19)
770
placement_price: "Quotation" = _grpc_helpers.message_field(20)
771
issue_size_plan: "Quotation" = _grpc_helpers.message_field(21)
772
773
774
@dataclass(eq=False, repr=True)
775
class AssetStructuredProduct(_grpc_helpers.Message):
776
borrow_name: str = _grpc_helpers.string_field(1)
777
nominal: "Quotation" = _grpc_helpers.message_field(2)
778
nominal_currency: str = _grpc_helpers.string_field(3)
779
type: "StructuredProductType" = _grpc_helpers.message_field(4)
780
logic_portfolio: str = _grpc_helpers.string_field(5)
781
asset_type: "AssetType" = _grpc_helpers.message_field(6)
782
basic_asset: str = _grpc_helpers.string_field(7)
783
safety_barrier: "Quotation" = _grpc_helpers.message_field(8)
784
maturity_date: datetime = _grpc_helpers.message_field(9)
785
issue_size_plan: "Quotation" = _grpc_helpers.message_field(10)
786
issue_size: "Quotation" = _grpc_helpers.message_field(11)
787
placement_date: datetime = _grpc_helpers.message_field(12)
788
issue_kind: str = _grpc_helpers.string_field(13)
789
790
791
@dataclass(eq=False, repr=True)
792
class AssetEtf(_grpc_helpers.Message):
793
total_expense: "Quotation" = _grpc_helpers.message_field(1)
794
hurdle_rate: "Quotation" = _grpc_helpers.message_field(2)
795
performance_fee: "Quotation" = _grpc_helpers.message_field(3)
796
fixed_commission: "Quotation" = _grpc_helpers.message_field(4)
797
payment_type: str = _grpc_helpers.string_field(5)
798
watermark_flag: bool = _grpc_helpers.bool_field(6)
799
buy_premium: "Quotation" = _grpc_helpers.message_field(7)
800
sell_discount: "Quotation" = _grpc_helpers.message_field(8)
801
rebalancing_flag: bool = _grpc_helpers.bool_field(9)
802
rebalancing_freq: str = _grpc_helpers.string_field(10)
803
management_type: str = _grpc_helpers.string_field(11)
804
primary_index: str = _grpc_helpers.string_field(12)
805
focus_type: str = _grpc_helpers.string_field(13)
806
leveraged_flag: bool = _grpc_helpers.bool_field(14)
807
num_share: "Quotation" = _grpc_helpers.message_field(15)
808
ucits_flag: bool = _grpc_helpers.bool_field(16)
809
released_date: datetime = _grpc_helpers.message_field(17)
810
description: str = _grpc_helpers.string_field(18)
811
primary_index_description: str = _grpc_helpers.string_field(19)
812
primary_index_company: str = _grpc_helpers.string_field(20)
813
index_recovery_period: "Quotation" = _grpc_helpers.message_field(21)
814
inav_code: str = _grpc_helpers.string_field(22)
815
div_yield_flag: bool = _grpc_helpers.bool_field(23)
816
expense_commission: "Quotation" = _grpc_helpers.message_field(24)
817
primary_index_tracking_error: "Quotation" = _grpc_helpers.message_field(25)
818
rebalancing_plan: str = _grpc_helpers.string_field(26)
819
tax_rate: str = _grpc_helpers.string_field(27)
820
rebalancing_dates: List[datetime] = _grpc_helpers.message_field(28)
821
issue_kind: str = _grpc_helpers.string_field(29)
822
nominal: "Quotation" = _grpc_helpers.message_field(30)
823
nominal_currency: str = _grpc_helpers.string_field(31)
824
825
826
@dataclass(eq=False, repr=True)
827
class AssetClearingCertificate(_grpc_helpers.Message):
828
nominal: "Quotation" = _grpc_helpers.message_field(1)
829
nominal_currency: str = _grpc_helpers.string_field(2)
830
831
832
@dataclass(eq=False, repr=True)
833
class Brand(_grpc_helpers.Message):
834
uid: str = _grpc_helpers.string_field(1)
835
name: str = _grpc_helpers.string_field(2)
836
description: str = _grpc_helpers.string_field(3)
837
info: str = _grpc_helpers.string_field(4)
838
company: str = _grpc_helpers.string_field(5)
839
sector: str = _grpc_helpers.string_field(6)
840
country_of_risk: str = _grpc_helpers.string_field(7)
841
country_of_risk_name: str = _grpc_helpers.string_field(8)
842
843
844
@dataclass(eq=False, repr=True)
845
class AssetInstrument(_grpc_helpers.Message):
846
uid: str = _grpc_helpers.string_field(1)
847
figi: str = _grpc_helpers.string_field(2)
848
instrument_type: str = _grpc_helpers.string_field(3)
849
ticker: str = _grpc_helpers.string_field(4)
850
class_code: str = _grpc_helpers.string_field(5)
851
links: List["InstrumentLink"] = _grpc_helpers.message_field(6)
852
853
854
@dataclass(eq=False, repr=True)
855
class InstrumentLink(_grpc_helpers.Message):
856
type: str = _grpc_helpers.string_field(1)
857
instrument_uid: str = _grpc_helpers.string_field(2)
858
859
860
@dataclass(eq=False, repr=True)
861
class GetFavoritesRequest(_grpc_helpers.Message):
862
pass
863
864
865
@dataclass(eq=False, repr=True)
866
class GetFavoritesResponse(_grpc_helpers.Message):
867
favorite_instruments: List["FavoriteInstrument"] = _grpc_helpers.message_field(1)
868
869
870
@dataclass(eq=False, repr=True)
871
class FavoriteInstrument(_grpc_helpers.Message):
872
figi: str = _grpc_helpers.string_field(1)
873
ticker: str = _grpc_helpers.string_field(2)
874
class_code: str = _grpc_helpers.string_field(3)
875
isin: str = _grpc_helpers.string_field(4)
876
instrument_type: str = _grpc_helpers.string_field(11)
877
otc_flag: bool = _grpc_helpers.bool_field(16)
878
api_trade_available_flag: bool = _grpc_helpers.bool_field(17)
879
880
881
@dataclass(eq=False, repr=True)
882
class EditFavoritesRequest(_grpc_helpers.Message):
883
instruments: List["EditFavoritesRequestInstrument"] = _grpc_helpers.message_field(1)
884
action_type: "EditFavoritesActionType" = _grpc_helpers.message_field(6)
885
886
887
@dataclass(eq=False, repr=True)
888
class EditFavoritesRequestInstrument(_grpc_helpers.Message):
889
figi: str = _grpc_helpers.string_field(1)
890
891
892
@dataclass(eq=False, repr=True)
893
class EditFavoritesResponse(_grpc_helpers.Message):
894
favorite_instruments: List["FavoriteInstrument"] = _grpc_helpers.message_field(1)
895
896
897
@dataclass(eq=False, repr=True)
898
class MarketDataRequest(_grpc_helpers.Message):
899
subscribe_candles_request: "SubscribeCandlesRequest" = _grpc_helpers.message_field(
900
1, group="payload"
901
)
902
subscribe_order_book_request: "SubscribeOrderBookRequest" = (
903
_grpc_helpers.message_field(2, group="payload")
904
)
905
subscribe_trades_request: "SubscribeTradesRequest" = _grpc_helpers.message_field(
906
3, group="payload"
907
)
908
subscribe_info_request: "SubscribeInfoRequest" = _grpc_helpers.message_field(
909
4, group="payload"
910
)
911
subscribe_last_price_request: "SubscribeLastPriceRequest" = (
912
_grpc_helpers.message_field(5, group="payload")
913
)
914
915
916
@dataclass(eq=False, repr=True)
917
class MarketDataResponse(
918
_grpc_helpers.Message
919
): # pylint:disable=too-many-instance-attributes
920
subscribe_candles_response: "SubscribeCandlesResponse" = (
921
_grpc_helpers.message_field(1, group="payload")
922
)
923
subscribe_order_book_response: "SubscribeOrderBookResponse" = (
924
_grpc_helpers.message_field(2, group="payload")
925
)
926
subscribe_trades_response: "SubscribeTradesResponse" = _grpc_helpers.message_field(
927
3, group="payload"
928
)
929
subscribe_info_response: "SubscribeInfoResponse" = _grpc_helpers.message_field(
930
4, group="payload"
931
)
932
candle: "Candle" = _grpc_helpers.message_field(5, group="payload")
933
trade: "Trade" = _grpc_helpers.message_field(6, group="payload")
934
orderbook: "OrderBook" = _grpc_helpers.message_field(7, group="payload")
935
trading_status: "TradingStatus" = _grpc_helpers.message_field(8, group="payload")
936
ping: "Ping" = _grpc_helpers.message_field(9, group="payload")
937
subscribe_last_price_response: "SubscribeLastPriceResponse" = (
938
_grpc_helpers.message_field(10, group="payload")
939
)
940
last_price: "LastPrice" = _grpc_helpers.message_field(11, group="payload")
941
942
943
@dataclass(eq=False, repr=True)
944
class SubscribeCandlesRequest(_grpc_helpers.Message):
945
subscription_action: "SubscriptionAction" = _grpc_helpers.enum_field(1)
946
instruments: List["CandleInstrument"] = _grpc_helpers.message_field(2)
947
948
949
@dataclass(eq=False, repr=True)
950
class CandleInstrument(_grpc_helpers.Message):
951
figi: str = _grpc_helpers.string_field(1)
952
interval: "SubscriptionInterval" = _grpc_helpers.enum_field(2)
953
954
955
@dataclass(eq=False, repr=True)
956
class SubscribeCandlesResponse(_grpc_helpers.Message):
957
tracking_id: str = _grpc_helpers.string_field(1)
958
candles_subscriptions: List["CandleSubscription"] = _grpc_helpers.message_field(2)
959
960
961
@dataclass(eq=False, repr=True)
962
class CandleSubscription(_grpc_helpers.Message):
963
figi: str = _grpc_helpers.string_field(1)
964
interval: "SubscriptionInterval" = _grpc_helpers.enum_field(2)
965
subscription_status: "SubscriptionStatus" = _grpc_helpers.enum_field(3)
966
967
968
@dataclass(eq=False, repr=True)
969
class SubscribeOrderBookRequest(_grpc_helpers.Message):
970
subscription_action: "SubscriptionAction" = _grpc_helpers.enum_field(1)
971
instruments: List["OrderBookInstrument"] = _grpc_helpers.message_field(2)
972
973
974
@dataclass(eq=False, repr=True)
975
class OrderBookInstrument(_grpc_helpers.Message):
976
figi: str = _grpc_helpers.string_field(1)
977
depth: int = _grpc_helpers.int32_field(2)
978
979
980
@dataclass(eq=False, repr=True)
981
class SubscribeOrderBookResponse(_grpc_helpers.Message):
982
tracking_id: str = _grpc_helpers.string_field(1)
983
order_book_subscriptions: List[
984
"OrderBookSubscription"
985
] = _grpc_helpers.message_field(2)
986
987
988
@dataclass(eq=False, repr=True)
989
class OrderBookSubscription(_grpc_helpers.Message):
990
figi: str = _grpc_helpers.string_field(1)
991
depth: int = _grpc_helpers.int32_field(2)
992
subscription_status: "SubscriptionStatus" = _grpc_helpers.enum_field(3)
993
994
995
@dataclass(eq=False, repr=True)
996
class SubscribeTradesRequest(_grpc_helpers.Message):
997
subscription_action: "SubscriptionAction" = _grpc_helpers.enum_field(1)
998
instruments: List["TradeInstrument"] = _grpc_helpers.message_field(2)
999
1000
1001
@dataclass(eq=False, repr=True)
1002
class SubscribeLastPriceRequest(_grpc_helpers.Message):
1003
subscription_action: "SubscriptionAction" = _grpc_helpers.message_field(1)
1004
instruments: List["LastPriceInstrument"] = _grpc_helpers.message_field(2)
1005
1006
1007
@dataclass(eq=False, repr=True)
1008
class LastPriceInstrument(_grpc_helpers.Message):
1009
figi: str = _grpc_helpers.string_field(1)
1010
1011
1012
@dataclass(eq=False, repr=True)
1013
class SubscribeLastPriceResponse(_grpc_helpers.Message):
1014
tracking_id: str = _grpc_helpers.string_field(1)
1015
last_price_subscriptions: List[
1016
"LastPriceSubscription"
1017
] = _grpc_helpers.message_field(2)
1018
1019
1020
@dataclass(eq=False, repr=True)
1021
class LastPriceSubscription(_grpc_helpers.Message):
1022
figi: str = _grpc_helpers.string_field(1)
1023
subscription_status: "SubscriptionStatus" = _grpc_helpers.message_field(2)
1024
1025
1026
@dataclass(eq=False, repr=True)
1027
class TradeInstrument(_grpc_helpers.Message):
1028
figi: str = _grpc_helpers.string_field(1)
1029
1030
1031
@dataclass(eq=False, repr=True)
1032
class SubscribeTradesResponse(_grpc_helpers.Message):
1033
tracking_id: str = _grpc_helpers.string_field(1)
1034
trade_subscriptions: List["TradeSubscription"] = _grpc_helpers.message_field(2)
1035
1036
1037
@dataclass(eq=False, repr=True)
1038
class TradeSubscription(_grpc_helpers.Message):
1039
figi: str = _grpc_helpers.string_field(1)
1040
subscription_status: "SubscriptionStatus" = _grpc_helpers.enum_field(2)
1041
1042
1043
@dataclass(eq=False, repr=True)
1044
class SubscribeInfoRequest(_grpc_helpers.Message):
1045
subscription_action: "SubscriptionAction" = _grpc_helpers.enum_field(1)
1046
instruments: List["InfoInstrument"] = _grpc_helpers.message_field(2)
1047
1048
1049
@dataclass(eq=False, repr=True)
1050
class InfoInstrument(_grpc_helpers.Message):
1051
figi: str = _grpc_helpers.string_field(1)
1052
1053
1054
@dataclass(eq=False, repr=True)
1055
class SubscribeInfoResponse(_grpc_helpers.Message):
1056
tracking_id: str = _grpc_helpers.string_field(1)
1057
info_subscriptions: List["InfoSubscription"] = _grpc_helpers.message_field(2)
1058
1059
1060
@dataclass(eq=False, repr=True)
1061
class InfoSubscription(_grpc_helpers.Message):
1062
figi: str = _grpc_helpers.string_field(1)
1063
subscription_status: "SubscriptionStatus" = _grpc_helpers.enum_field(2)
1064
1065
1066
@dataclass(eq=False, repr=True)
1067
class Candle(_grpc_helpers.Message):
1068
figi: str = _grpc_helpers.string_field(1)
1069
interval: "SubscriptionInterval" = _grpc_helpers.enum_field(2)
1070
open: "Quotation" = _grpc_helpers.message_field(3)
1071
high: "Quotation" = _grpc_helpers.message_field(4)
1072
low: "Quotation" = _grpc_helpers.message_field(5)
1073
close: "Quotation" = _grpc_helpers.message_field(6)
1074
volume: int = _grpc_helpers.int64_field(7)
1075
time: datetime = _grpc_helpers.message_field(8)
1076
last_trade_ts: datetime = _grpc_helpers.message_field(9)
1077
1078
1079
@dataclass(eq=False, repr=True)
1080
class OrderBook(_grpc_helpers.Message):
1081
figi: str = _grpc_helpers.string_field(1)
1082
depth: int = _grpc_helpers.int32_field(2)
1083
is_consistent: bool = _grpc_helpers.bool_field(3)
1084
bids: List["Order"] = _grpc_helpers.message_field(4)
1085
asks: List["Order"] = _grpc_helpers.message_field(5)
1086
time: datetime = _grpc_helpers.message_field(6)
1087
limit_up: "Quotation" = _grpc_helpers.message_field(7)
1088
limit_down: "Quotation" = _grpc_helpers.message_field(8)
1089
1090
1091
@dataclass(eq=False, repr=True)
1092
class Order(_grpc_helpers.Message):
1093
price: "Quotation" = _grpc_helpers.message_field(1)
1094
quantity: int = _grpc_helpers.int64_field(2)
1095
1096
1097
@dataclass(eq=False, repr=True)
1098
class Trade(_grpc_helpers.Message):
1099
figi: str = _grpc_helpers.string_field(1)
1100
direction: "TradeDirection" = _grpc_helpers.enum_field(2)
1101
price: "Quotation" = _grpc_helpers.message_field(3)
1102
quantity: int = _grpc_helpers.int64_field(4)
1103
time: datetime = _grpc_helpers.message_field(5)
1104
1105
1106
@dataclass(eq=False, repr=True)
1107
class TradingStatus(_grpc_helpers.Message):
1108
figi: str = _grpc_helpers.string_field(1)
1109
trading_status: "SecurityTradingStatus" = _grpc_helpers.enum_field(2)
1110
time: datetime = _grpc_helpers.enum_field(3)
1111
limit_order_available_flag: bool = _grpc_helpers.bool_field(4)
1112
market_order_available_flag: bool = _grpc_helpers.bool_field(5)
1113
1114
1115
@dataclass(eq=False, repr=True)
1116
class GetCandlesRequest(_grpc_helpers.Message):
1117
figi: str = _grpc_helpers.string_field(1)
1118
from_: datetime = _grpc_helpers.message_field(2)
1119
to: datetime = _grpc_helpers.message_field(3)
1120
interval: "CandleInterval" = _grpc_helpers.enum_field(4)
1121
1122
1123
@dataclass(eq=False, repr=True)
1124
class GetCandlesResponse(_grpc_helpers.Message):
1125
candles: List["HistoricCandle"] = _grpc_helpers.message_field(1)
1126
1127
1128
@dataclass(eq=False, repr=True)
1129
class HistoricCandle(_grpc_helpers.Message):
1130
open: Quotation = _grpc_helpers.message_field(1)
1131
high: Quotation = _grpc_helpers.message_field(2)
1132
low: Quotation = _grpc_helpers.message_field(3)
1133
close: Quotation = _grpc_helpers.message_field(4)
1134
volume: int = _grpc_helpers.int64_field(5)
1135
time: datetime = _grpc_helpers.message_field(6)
1136
is_complete: bool = _grpc_helpers.bool_field(7)
1137
1138
1139
@dataclass(eq=False, repr=True)
1140
class GetLastPricesRequest(_grpc_helpers.Message):
1141
figi: List[str] = _grpc_helpers.string_field(1)
1142
1143
1144
@dataclass(eq=False, repr=True)
1145
class GetLastPricesResponse(_grpc_helpers.Message):
1146
last_prices: List["LastPrice"] = _grpc_helpers.message_field(1)
1147
1148
1149
@dataclass(eq=False, repr=True)
1150
class LastPrice(_grpc_helpers.Message):
1151
figi: str = _grpc_helpers.string_field(1)
1152
price: "Quotation" = _grpc_helpers.message_field(2)
1153
time: datetime = _grpc_helpers.message_field(3)
1154
1155
1156
@dataclass(eq=False, repr=True)
1157
class GetOrderBookRequest(_grpc_helpers.Message):
1158
figi: str = _grpc_helpers.string_field(1)
1159
depth: int = _grpc_helpers.int32_field(2)
1160
1161
1162
@dataclass(eq=False, repr=True)
1163
class GetOrderBookResponse(_grpc_helpers.Message):
1164
figi: str = _grpc_helpers.string_field(1)
1165
depth: int = _grpc_helpers.int32_field(2)
1166
bids: List["Order"] = _grpc_helpers.message_field(3)
1167
asks: List["Order"] = _grpc_helpers.message_field(4)
1168
last_price: "Quotation" = _grpc_helpers.message_field(5)
1169
close_price: "Quotation" = _grpc_helpers.message_field(6)
1170
limit_up: "Quotation" = _grpc_helpers.message_field(7)
1171
limit_down: "Quotation" = _grpc_helpers.message_field(8)
1172
1173
1174
@dataclass(eq=False, repr=True)
1175
class GetTradingStatusRequest(_grpc_helpers.Message):
1176
figi: str = _grpc_helpers.string_field(1)
1177
1178
1179
@dataclass(eq=False, repr=True)
1180
class GetTradingStatusResponse(_grpc_helpers.Message):
1181
figi: str = _grpc_helpers.string_field(1)
1182
trading_status: "SecurityTradingStatus" = _grpc_helpers.enum_field(2)
1183
limit_order_available_flag: bool = _grpc_helpers.bool_field(3)
1184
market_order_available_flag: bool = _grpc_helpers.bool_field(4)
1185
api_trade_available_flag: bool = _grpc_helpers.bool_field(5)
1186
1187
1188
@dataclass(eq=False, repr=True)
1189
class GetLastTradesRequest(_grpc_helpers.Message):
1190
figi: str = _grpc_helpers.string_field(1)
1191
from_: datetime = _grpc_helpers.message_field(2)
1192
to: datetime = _grpc_helpers.message_field(3)
1193
1194
1195
@dataclass(eq=False, repr=True)
1196
class GetLastTradesResponse(_grpc_helpers.Message):
1197
trades: List["Trade"] = _grpc_helpers.message_field(1)
1198
1199
1200
@dataclass(eq=False, repr=True)
1201
class OperationsRequest(_grpc_helpers.Message):
1202
account_id: str = _grpc_helpers.string_field(1)
1203
from_: datetime = _grpc_helpers.message_field(2)
1204
to: datetime = _grpc_helpers.message_field(3)
1205
state: "OperationState" = _grpc_helpers.enum_field(4)
1206
figi: str = _grpc_helpers.string_field(5)
1207
1208
1209
@dataclass(eq=False, repr=True)
1210
class OperationsResponse(_grpc_helpers.Message):
1211
operations: List["Operation"] = _grpc_helpers.message_field(1)
1212
1213
1214
@dataclass(eq=False, repr=True)
1215
class OperationTrade(_grpc_helpers.Message):
1216
trade_id: str = _grpc_helpers.string_field(1)
1217
date_time: datetime = _grpc_helpers.message_field(2)
1218
quantity: int = _grpc_helpers.int64_field(3)
1219
price: "MoneyValue" = _grpc_helpers.message_field(4)
1220
1221
1222
@dataclass(eq=False, repr=True)
1223
class Operation(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
1224
id: str = _grpc_helpers.string_field(1)
1225
parent_operation_id: str = _grpc_helpers.string_field(2)
1226
currency: str = _grpc_helpers.string_field(3)
1227
payment: "MoneyValue" = _grpc_helpers.message_field(4)
1228
price: "MoneyValue" = _grpc_helpers.message_field(5)
1229
state: "OperationState" = _grpc_helpers.enum_field(6)
1230
quantity: int = _grpc_helpers.int64_field(7)
1231
quantity_rest: int = _grpc_helpers.int64_field(8)
1232
figi: str = _grpc_helpers.string_field(9)
1233
instrument_type: str = _grpc_helpers.string_field(10)
1234
date: datetime = _grpc_helpers.message_field(11)
1235
type: str = _grpc_helpers.string_field(12)
1236
operation_type: "OperationType" = _grpc_helpers.string_field(13)
1237
trades: List["OperationTrade"] = _grpc_helpers.message_field(14)
1238
1239
1240
@dataclass(eq=False, repr=True)
1241
class PortfolioRequest(_grpc_helpers.Message):
1242
account_id: str = _grpc_helpers.string_field(1)
1243
1244
1245
@dataclass(eq=False, repr=True)
1246
class PortfolioResponse(_grpc_helpers.Message):
1247
total_amount_shares: "MoneyValue" = _grpc_helpers.message_field(1)
1248
total_amount_bonds: "MoneyValue" = _grpc_helpers.message_field(2)
1249
total_amount_etf: "MoneyValue" = _grpc_helpers.message_field(3)
1250
total_amount_currencies: "MoneyValue" = _grpc_helpers.message_field(4)
1251
total_amount_futures: "MoneyValue" = _grpc_helpers.message_field(5)
1252
expected_yield: "Quotation" = _grpc_helpers.message_field(6)
1253
positions: List["PortfolioPosition"] = _grpc_helpers.message_field(7)
1254
1255
1256
@dataclass(eq=False, repr=True)
1257
class PositionsRequest(_grpc_helpers.Message):
1258
account_id: str = _grpc_helpers.string_field(1)
1259
1260
1261
@dataclass(eq=False, repr=True)
1262
class PositionsResponse(_grpc_helpers.Message):
1263
money: List["MoneyValue"] = _grpc_helpers.message_field(1)
1264
blocked: List["MoneyValue"] = _grpc_helpers.message_field(2)
1265
securities: List["PositionsSecurities"] = _grpc_helpers.message_field(3)
1266
limits_loading_in_progress: bool = _grpc_helpers.bool_field(4)
1267
futures: List["PositionsFutures"] = _grpc_helpers.bool_field(5)
1268
1269
1270
@dataclass(eq=False, repr=True)
1271
class WithdrawLimitsRequest(_grpc_helpers.Message):
1272
account_id: str = _grpc_helpers.string_field(1)
1273
1274
1275
@dataclass(eq=False, repr=True)
1276
class WithdrawLimitsResponse(_grpc_helpers.Message):
1277
money: List["MoneyValue"] = _grpc_helpers.message_field(1)
1278
blocked: List["MoneyValue"] = _grpc_helpers.message_field(2)
1279
blocked_guarantee: List["MoneyValue"] = _grpc_helpers.message_field(3)
1280
1281
1282
@dataclass(eq=False, repr=True)
1283
class PortfolioPosition(_grpc_helpers.Message):
1284
figi: str = _grpc_helpers.string_field(1)
1285
instrument_type: str = _grpc_helpers.string_field(2)
1286
quantity: "Quotation" = _grpc_helpers.message_field(3)
1287
average_position_price: "MoneyValue" = _grpc_helpers.message_field(4)
1288
expected_yield: "Quotation" = _grpc_helpers.message_field(5)
1289
current_nkd: "MoneyValue" = _grpc_helpers.message_field(6)
1290
average_position_price_pt: "Quotation" = _grpc_helpers.message_field(7)
1291
current_price: "MoneyValue" = _grpc_helpers.message_field(8)
1292
average_position_price_fifo: "MoneyValue" = _grpc_helpers.message_field(9)
1293
quantity_lots: "Quotation" = _grpc_helpers.message_field(10)
1294
1295
1296
@dataclass(eq=False, repr=True)
1297
class PositionsSecurities(_grpc_helpers.Message):
1298
figi: str = _grpc_helpers.string_field(1)
1299
blocked: int = _grpc_helpers.int64_field(2)
1300
balance: int = _grpc_helpers.int64_field(3)
1301
1302
1303
@dataclass(eq=False, repr=True)
1304
class TradesStreamRequest(_grpc_helpers.Message):
1305
accounts: List[str] = _grpc_helpers.string_field(1)
1306
1307
1308
@dataclass(eq=False, repr=True)
1309
class TradesStreamResponse(_grpc_helpers.Message):
1310
order_trades: "OrderTrades" = _grpc_helpers.message_field(1, group="payload")
1311
ping: "Ping" = _grpc_helpers.message_field(2, group="payload")
1312
1313
1314
@dataclass(eq=False, repr=True)
1315
class OrderTrades(_grpc_helpers.Message):
1316
order_id: str = _grpc_helpers.string_field(1)
1317
created_at: datetime = _grpc_helpers.message_field(2)
1318
direction: "OrderDirection" = _grpc_helpers.enum_field(3)
1319
figi: str = _grpc_helpers.string_field(4)
1320
trades: List["OrderTrade"] = _grpc_helpers.message_field(5)
1321
account_id: str = _grpc_helpers.string_field(6)
1322
1323
1324
@dataclass(eq=False, repr=True)
1325
class OrderTrade(_grpc_helpers.Message):
1326
date_time: datetime = _grpc_helpers.message_field(1)
1327
price: "Quotation" = _grpc_helpers.message_field(2)
1328
quantity: int = _grpc_helpers.int64_field(3)
1329
1330
1331
@dataclass(eq=False, repr=True)
1332
class PostOrderRequest(_grpc_helpers.Message):
1333
figi: str = _grpc_helpers.string_field(1)
1334
quantity: int = _grpc_helpers.int64_field(2)
1335
price: "Quotation" = _grpc_helpers.message_field(3)
1336
direction: "OrderDirection" = _grpc_helpers.enum_field(4)
1337
account_id: str = _grpc_helpers.string_field(5)
1338
order_type: "OrderType" = _grpc_helpers.enum_field(6)
1339
order_id: str = _grpc_helpers.string_field(7)
1340
1341
1342
@dataclass(eq=False, repr=True)
1343
class PostOrderResponse( # pylint:disable=too-many-instance-attributes
1344
_grpc_helpers.Message
1345
):
1346
order_id: str = _grpc_helpers.string_field(1)
1347
execution_report_status: "OrderExecutionReportStatus" = _grpc_helpers.enum_field(2)
1348
lots_requested: int = _grpc_helpers.int64_field(3)
1349
lots_executed: int = _grpc_helpers.int64_field(4)
1350
initial_order_price: "MoneyValue" = _grpc_helpers.message_field(5)
1351
executed_order_price: "MoneyValue" = _grpc_helpers.message_field(6)
1352
total_order_amount: "MoneyValue" = _grpc_helpers.message_field(7)
1353
initial_commission: "MoneyValue" = _grpc_helpers.message_field(8)
1354
executed_commission: "MoneyValue" = _grpc_helpers.message_field(9)
1355
aci_value: "MoneyValue" = _grpc_helpers.message_field(10)
1356
figi: str = _grpc_helpers.string_field(11)
1357
direction: "OrderDirection" = _grpc_helpers.enum_field(12)
1358
initial_security_price: "MoneyValue" = _grpc_helpers.message_field(13)
1359
order_type: "OrderType" = _grpc_helpers.enum_field(14)
1360
message: str = _grpc_helpers.string_field(15)
1361
initial_order_price_pt: "Quotation" = _grpc_helpers.message_field(16)
1362
1363
1364
@dataclass(eq=False, repr=True)
1365
class CancelOrderRequest(_grpc_helpers.Message):
1366
account_id: str = _grpc_helpers.string_field(1)
1367
order_id: str = _grpc_helpers.string_field(2)
1368
1369
1370
@dataclass(eq=False, repr=True)
1371
class CancelOrderResponse(_grpc_helpers.Message):
1372
time: datetime = _grpc_helpers.message_field(1)
1373
1374
1375
@dataclass(eq=False, repr=True)
1376
class GetOrderStateRequest(_grpc_helpers.Message):
1377
account_id: str = _grpc_helpers.string_field(1)
1378
order_id: str = _grpc_helpers.string_field(2)
1379
1380
1381
@dataclass(eq=False, repr=True)
1382
class GetOrdersRequest(_grpc_helpers.Message):
1383
account_id: str = _grpc_helpers.string_field(1)
1384
1385
1386
@dataclass(eq=False, repr=True)
1387
class GetOrdersResponse(_grpc_helpers.Message):
1388
orders: List["OrderState"] = _grpc_helpers.message_field(1)
1389
1390
1391
@dataclass(eq=False, repr=True)
1392
class OrderState(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
1393
order_id: str = _grpc_helpers.string_field(1)
1394
execution_report_status: "OrderExecutionReportStatus" = _grpc_helpers.enum_field(2)
1395
lots_requested: int = _grpc_helpers.int64_field(3)
1396
lots_executed: int = _grpc_helpers.int64_field(4)
1397
initial_order_price: "MoneyValue" = _grpc_helpers.message_field(5)
1398
executed_order_price: "MoneyValue" = _grpc_helpers.message_field(6)
1399
total_order_amount: "MoneyValue" = _grpc_helpers.message_field(7)
1400
average_position_price: "MoneyValue" = _grpc_helpers.message_field(8)
1401
initial_commission: "MoneyValue" = _grpc_helpers.message_field(9)
1402
executed_commission: "MoneyValue" = _grpc_helpers.message_field(10)
1403
figi: str = _grpc_helpers.string_field(11)
1404
direction: "OrderDirection" = _grpc_helpers.enum_field(12)
1405
initial_security_price: "MoneyValue" = _grpc_helpers.message_field(13)
1406
stages: List["OrderStage"] = _grpc_helpers.message_field(14)
1407
service_commission: "MoneyValue" = _grpc_helpers.message_field(15)
1408
currency: str = _grpc_helpers.string_field(16)
1409
order_type: "OrderType" = _grpc_helpers.enum_field(17)
1410
order_date: datetime = _grpc_helpers.message_field(18)
1411
1412
1413
@dataclass(eq=False, repr=True)
1414
class OrderStage(_grpc_helpers.Message):
1415
price: "MoneyValue" = _grpc_helpers.message_field(1)
1416
quantity: int = _grpc_helpers.int64_field(2)
1417
trade_id: str = _grpc_helpers.string_field(3)
1418
1419
1420
@dataclass(eq=False, repr=True)
1421
class GetAccountsRequest(_grpc_helpers.Message):
1422
pass
1423
1424
1425
@dataclass(eq=False, repr=True)
1426
class GetAccountsResponse(_grpc_helpers.Message):
1427
accounts: List["Account"] = _grpc_helpers.message_field(1)
1428
1429
1430
@dataclass(eq=False, repr=True)
1431
class Account(_grpc_helpers.Message):
1432
id: str = _grpc_helpers.string_field(1)
1433
type: "AccountType" = _grpc_helpers.enum_field(2)
1434
name: str = _grpc_helpers.string_field(3)
1435
status: "AccountStatus" = _grpc_helpers.enum_field(4)
1436
opened_date: datetime = _grpc_helpers.message_field(5)
1437
closed_date: datetime = _grpc_helpers.message_field(6)
1438
access_level: "AccessLevel" = _grpc_helpers.message_field(7)
1439
1440
@classmethod
1441
def loads(cls, obj) -> "Account":
1442
return cls(
1443
id=obj.id,
1444
type=AccountType(obj.type),
1445
name=obj.name,
1446
status=AccountStatus(obj.type),
1447
opened_date=_grpc_helpers.ts_to_datetime(obj.opened_date),
1448
closed_date=_grpc_helpers.ts_to_datetime(obj.closed_date),
1449
)
1450
1451
1452
@dataclass(eq=False, repr=True)
1453
class GetMarginAttributesRequest(_grpc_helpers.Message):
1454
account_id: str = _grpc_helpers.string_field(1)
1455
1456
1457
@dataclass(eq=False, repr=True)
1458
class GetMarginAttributesResponse(_grpc_helpers.Message):
1459
liquid_portfolio: "MoneyValue" = _grpc_helpers.message_field(1)
1460
starting_margin: "MoneyValue" = _grpc_helpers.message_field(2)
1461
minimal_margin: "MoneyValue" = _grpc_helpers.message_field(3)
1462
funds_sufficiency_level: "Quotation" = _grpc_helpers.message_field(4)
1463
amount_of_missing_funds: "MoneyValue" = _grpc_helpers.message_field(5)
1464
1465
1466
@dataclass(eq=False, repr=True)
1467
class GetUserTariffRequest(_grpc_helpers.Message):
1468
pass
1469
1470
1471
@dataclass(eq=False, repr=True)
1472
class GetUserTariffResponse(_grpc_helpers.Message):
1473
unary_limits: List["UnaryLimit"] = _grpc_helpers.message_field(1)
1474
stream_limits: List["StreamLimit"] = _grpc_helpers.message_field(2)
1475
1476
1477
@dataclass(eq=False, repr=True)
1478
class UnaryLimit(_grpc_helpers.Message):
1479
limit_per_minute: int = _grpc_helpers.int32_field(1)
1480
methods: List[str] = _grpc_helpers.string_field(2)
1481
1482
1483
@dataclass(eq=False, repr=True)
1484
class StreamLimit(_grpc_helpers.Message):
1485
limit: int = _grpc_helpers.int32_field(1)
1486
streams: List[str] = _grpc_helpers.string_field(2)
1487
1488
1489
@dataclass(eq=False, repr=True)
1490
class GetInfoRequest(_grpc_helpers.Message):
1491
pass
1492
1493
1494
@dataclass(eq=False, repr=True)
1495
class GetInfoResponse(_grpc_helpers.Message):
1496
prem_status: bool = _grpc_helpers.bool_field(1)
1497
qual_status: bool = _grpc_helpers.bool_field(2)
1498
qualified_for_work_with: List[str] = _grpc_helpers.string_field(3)
1499
tariff: str = _grpc_helpers.string_field(4)
1500
1501
1502
@dataclass(eq=False, repr=True)
1503
class OpenSandboxAccountRequest(_grpc_helpers.Message):
1504
pass
1505
1506
1507
@dataclass(eq=False, repr=True)
1508
class OpenSandboxAccountResponse(_grpc_helpers.Message):
1509
account_id: str = _grpc_helpers.string_field(1)
1510
1511
1512
@dataclass(eq=False, repr=True)
1513
class CloseSandboxAccountRequest(_grpc_helpers.Message):
1514
account_id: str = _grpc_helpers.string_field(1)
1515
1516
1517
@dataclass(eq=False, repr=True)
1518
class CloseSandboxAccountResponse(_grpc_helpers.Message):
1519
pass
1520
1521
1522
@dataclass(eq=False, repr=True)
1523
class SandboxPayInRequest(_grpc_helpers.Message):
1524
account_id: str = _grpc_helpers.string_field(1)
1525
amount: "MoneyValue" = _grpc_helpers.message_field(2)
1526
1527
1528
@dataclass(eq=False, repr=True)
1529
class SandboxPayInResponse(_grpc_helpers.Message):
1530
balance: "MoneyValue" = _grpc_helpers.message_field(1)
1531
1532
1533
@dataclass(eq=False, repr=True)
1534
class PostStopOrderRequest(_grpc_helpers.Message):
1535
figi: str = _grpc_helpers.string_field(1)
1536
quantity: int = _grpc_helpers.int64_field(2)
1537
price: "Quotation" = _grpc_helpers.message_field(3)
1538
stop_price: "Quotation" = _grpc_helpers.message_field(4)
1539
direction: "StopOrderDirection" = _grpc_helpers.enum_field(5)
1540
account_id: str = _grpc_helpers.string_field(6)
1541
expiration_type: "StopOrderExpirationType" = _grpc_helpers.enum_field(7)
1542
stop_order_type: "StopOrderType" = _grpc_helpers.enum_field(8)
1543
expire_date: datetime = _grpc_helpers.message_field(9)
1544
1545
1546
@dataclass(eq=False, repr=True)
1547
class PostStopOrderResponse(_grpc_helpers.Message):
1548
stop_order_id: str = _grpc_helpers.string_field(1)
1549
1550
1551
@dataclass(eq=False, repr=True)
1552
class GetStopOrdersRequest(_grpc_helpers.Message):
1553
account_id: str = _grpc_helpers.string_field(1)
1554
1555
1556
@dataclass(eq=False, repr=True)
1557
class GetStopOrdersResponse(_grpc_helpers.Message):
1558
stop_orders: List["StopOrder"] = _grpc_helpers.message_field(1)
1559
1560
1561
@dataclass(eq=False, repr=True)
1562
class CancelStopOrderRequest(_grpc_helpers.Message):
1563
account_id: str = _grpc_helpers.string_field(1)
1564
stop_order_id: str = _grpc_helpers.string_field(2)
1565
1566
1567
@dataclass(eq=False, repr=True)
1568
class CancelStopOrderResponse(_grpc_helpers.Message):
1569
time: datetime = _grpc_helpers.message_field(1)
1570
1571
1572
@dataclass(eq=False, repr=True)
1573
class StopOrder(_grpc_helpers.Message): # pylint:disable=too-many-instance-attributes
1574
stop_order_id: str = _grpc_helpers.string_field(1)
1575
lots_requested: int = _grpc_helpers.int64_field(2)
1576
figi: str = _grpc_helpers.string_field(3)
1577
direction: "StopOrderDirection" = _grpc_helpers.enum_field(4)
1578
currency: str = _grpc_helpers.string_field(5)
1579
order_type: "StopOrderType" = _grpc_helpers.enum_field(6)
1580
create_date: datetime = _grpc_helpers.message_field(7)
1581
activation_date_time: datetime = _grpc_helpers.message_field(8)
1582
expiration_time: datetime = _grpc_helpers.message_field(9)
1583
price: "MoneyValue" = _grpc_helpers.message_field(10)
1584
stop_price: "MoneyValue" = _grpc_helpers.message_field(11)
1585
1586
1587
@dataclass(eq=False, repr=True)
1588
class BrokerReportRequest(_grpc_helpers.Message):
1589
generate_broker_report_request: "GenerateBrokerReportRequest" = (
1590
_grpc_helpers.message_field(1, group="payload")
1591
)
1592
get_broker_report_request: "GetBrokerReportRequest" = _grpc_helpers.message_field(
1593
2, group="payload"
1594
)
1595
1596
1597
@dataclass(eq=False, repr=True)
1598
class BrokerReportResponse(_grpc_helpers.Message):
1599
generate_broker_report_response: "GenerateBrokerReportResponse" = (
1600
_grpc_helpers.message_field(1, group="payload")
1601
)
1602
get_broker_report_response: "GetBrokerReportResponse" = _grpc_helpers.message_field(
1603
2, group="payload"
1604
)
1605
1606
1607
@dataclass(eq=False, repr=True)
1608
class GenerateBrokerReportRequest(_grpc_helpers.Message):
1609
account_id: str = _grpc_helpers.string_field(1)
1610
from_: datetime = _grpc_helpers.message_field(2)
1611
to: datetime = _grpc_helpers.message_field(3)
1612
1613
1614
@dataclass(eq=False, repr=True)
1615
class GenerateBrokerReportResponse(_grpc_helpers.Message):
1616
task_id: str = _grpc_helpers.string_field(1)
1617
1618
1619
@dataclass(eq=False, repr=True)
1620
class GetBrokerReportRequest(_grpc_helpers.Message):
1621
task_id: str = _grpc_helpers.string_field(1)
1622
page: int = _grpc_helpers.int32_field(2)
1623
1624
1625
@dataclass(eq=False, repr=True)
1626
class GetBrokerReportResponse(_grpc_helpers.Message):
1627
broker_report: List["BrokerReport"] = _grpc_helpers.message_field(1)
1628
itemsCount: int = _grpc_helpers.int32_field(2)
1629
pagesCount: int = _grpc_helpers.int32_field(3)
1630
page: int = _grpc_helpers.int32_field(4)
1631
1632
1633
@dataclass(eq=False, repr=True)
1634
class BrokerReport( # pylint:disable=too-many-instance-attributes
1635
_grpc_helpers.Message
1636
):
1637
trade_id: str = _grpc_helpers.string_field(1)
1638
order_id: str = _grpc_helpers.string_field(2)
1639
figi: str = _grpc_helpers.string_field(3)
1640
execute_sign: str = _grpc_helpers.string_field(4)
1641
trade_datetime: datetime = _grpc_helpers.message_field(5)
1642
exchange: str = _grpc_helpers.string_field(6)
1643
class_code: str = _grpc_helpers.string_field(7)
1644
direction: str = _grpc_helpers.string_field(8)
1645
name: str = _grpc_helpers.string_field(9)
1646
ticker: str = _grpc_helpers.string_field(10)
1647
price: "MoneyValue" = _grpc_helpers.message_field(11)
1648
quantity: int = _grpc_helpers.int64_field(12)
1649
order_amount: "MoneyValue" = _grpc_helpers.message_field(13)
1650
aci_value: float = _grpc_helpers.double_field(14)
1651
total_order_amount: "MoneyValue" = _grpc_helpers.message_field(15)
1652
broker_commission: "MoneyValue" = _grpc_helpers.message_field(16)
1653
exchange_commission: "MoneyValue" = _grpc_helpers.message_field(17)
1654
exchange_clearing_commission: "MoneyValue" = _grpc_helpers.message_field(18)
1655
repo_rate: float = _grpc_helpers.double_field(19)
1656
party: str = _grpc_helpers.string_field(20)
1657
clear_value_date: datetime = _grpc_helpers.message_field(21)
1658
sec_value_date: datetime = _grpc_helpers.message_field(22)
1659
broker_status: str = _grpc_helpers.string_field(23)
1660
separate_agreement_type: str = _grpc_helpers.string_field(24)
1661
separate_agreement_number: str = _grpc_helpers.string_field(25)
1662
separate_agreement_date: str = _grpc_helpers.string_field(26)
1663
delivery_type: str = _grpc_helpers.string_field(27)
1664
1665
1666
@dataclass(eq=False, repr=True)
1667
class PositionsFutures(_grpc_helpers.Message):
1668
figi: str = _grpc_helpers.string_field(1)
1669
blocked: int = _grpc_helpers.int64_field(2)
1670
balance: int = _grpc_helpers.int64_field(3)
1671
1672
1673
@dataclass(eq=False, repr=True)
1674
class GetDividendsForeignIssuerRequest(_grpc_helpers.Message):
1675
generate_div_foreign_issuer_report: "GenerateDividendsForeignIssuerReportRequest" = _grpc_helpers.message_field( # noqa:E501 # pylint:disable=line-too-long
1676
1, group="payload"
1677
)
1678
get_div_foreign_issuer_report: "GetDividendsForeignIssuerReportRequest" = (
1679
_grpc_helpers.message_field(2, group="payload")
1680
)
1681
1682
1683
@dataclass(eq=False, repr=True)
1684
class GetDividendsForeignIssuerResponse(_grpc_helpers.Message):
1685
generate_div_foreign_issuer_report_response: "GenerateDividendsForeignIssuerReportResponse" = _grpc_helpers.message_field( # noqa:E501 # pylint:disable=line-too-long
1686
1, group="payload"
1687
)
1688
div_foreign_issuer_report: "GetDividendsForeignIssuerReportResponse" = (
1689
_grpc_helpers.message_field(2, group="payload")
1690
)
1691
1692
1693
@dataclass(eq=False, repr=True)
1694
class GenerateDividendsForeignIssuerReportRequest(_grpc_helpers.Message):
1695
account_id: str = _grpc_helpers.string_field(1)
1696
from_: datetime = _grpc_helpers.message_field(2)
1697
to: datetime = _grpc_helpers.message_field(3)
1698
1699
1700
@dataclass(eq=False, repr=True)
1701
class GetDividendsForeignIssuerReportRequest(_grpc_helpers.Message):
1702
task_id: str = _grpc_helpers.string_field(1)
1703
page: int = _grpc_helpers.int32_field(2)
1704
1705
1706
@dataclass(eq=False, repr=True)
1707
class GenerateDividendsForeignIssuerReportResponse(_grpc_helpers.Message):
1708
task_id: str = _grpc_helpers.string_field(1)
1709
1710
1711
@dataclass(eq=False, repr=True)
1712
class GetDividendsForeignIssuerReportResponse(_grpc_helpers.Message):
1713
dividends_foreign_issuer_report: List[
1714
"DividendsForeignIssuerReport"
1715
] = _grpc_helpers.message_field(1)
1716
itemsCount: int = _grpc_helpers.int32_field(2)
1717
pagesCount: int = _grpc_helpers.int32_field(3)
1718
page: int = _grpc_helpers.int32_field(4)
1719
1720
1721
@dataclass(eq=False, repr=True)
1722
class DividendsForeignIssuerReport( # pylint:disable=too-many-instance-attributes
1723
_grpc_helpers.Message
1724
):
1725
record_date: datetime = _grpc_helpers.message_field(1)
1726
payment_date: datetime = _grpc_helpers.message_field(2)
1727
security_name: str = _grpc_helpers.string_field(3)
1728
isin: str = _grpc_helpers.string_field(4)
1729
issuer_country: str = _grpc_helpers.string_field(5)
1730
quantity: int = _grpc_helpers.int64_field(6)
1731
dividend: "Quotation" = _grpc_helpers.message_field(7)
1732
external_commission: "Quotation" = _grpc_helpers.message_field(8)
1733
dividend_gross: "Quotation" = _grpc_helpers.message_field(9)
1734
tax: "Quotation" = _grpc_helpers.message_field(10)
1735
dividend_amount: "Quotation" = _grpc_helpers.message_field(11)
1736
currency: str = _grpc_helpers.string_field(12)
1737
1738