yatis 0.2.1

Yet Another T-bank Investment Sdk
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
syntax = "proto3";

package tinkoff.public.invest.api.contract.v1;

option go_package = "./;investapi";
option java_package = "ru.tinkoff.piapi.contract.v1";
option java_multiple_files = true;
option csharp_namespace = "Tinkoff.InvestApi.V1";
option objc_class_prefix = "TIAPI";
option php_namespace = "Tinkoff\\Invest\\V1";

import "google/protobuf/timestamp.proto";
import "common.proto";
import "google/api/field_behavior.proto";

service InstrumentsService {/*Методы сервиса предназначены для получения:<br/>1. Информации об инструментах.<br/>2.
                            Расписания торговых сессий.<br/>3. Календаря выплат купонов по облигациям.<br/>4.
                            Размера гарантийного обеспечения по фьючерсам.<br/>5. Дивидендов по ценной бумаге.*/

  //Получить расписания торгов торговых площадок
  rpc TradingSchedules (TradingSchedulesRequest) returns (TradingSchedulesResponse);

  //Получить облигации по ее идентификатору
  rpc BondBy (InstrumentRequest) returns (BondResponse);

  //Получить список облигаций
  rpc Bonds (InstrumentsRequest) returns (BondsResponse);

  //Получить график выплат купонов по облигации
  rpc GetBondCoupons (GetBondCouponsRequest) returns (GetBondCouponsResponse);

  //Получить события по облигации
  rpc GetBondEvents (GetBondEventsRequest) returns (GetBondEventsResponse);

  //Получить валюту по ее идентификатору
  rpc CurrencyBy (InstrumentRequest) returns (CurrencyResponse);

  //Получить список валют
  rpc Currencies (InstrumentsRequest) returns (CurrenciesResponse);

  //Получить инвестиционный фонд по его идентификатору
  rpc EtfBy (InstrumentRequest) returns (EtfResponse);

  //Получить список инвестиционных фондов
  rpc Etfs (InstrumentsRequest) returns (EtfsResponse);

  //Получить фьючерс по его идентификатору
  rpc FutureBy (InstrumentRequest) returns (FutureResponse);

  //Получить список фьючерсов
  rpc Futures (InstrumentsRequest) returns (FuturesResponse);

  //Получить опцион по его идентификатору
  rpc OptionBy (InstrumentRequest) returns (OptionResponse);

  //Deprecated Получить список опционов
  rpc Options (InstrumentsRequest) returns (OptionsResponse) {
    option deprecated = true;
  };

  //Получить список опционов
  rpc OptionsBy (FilterOptionsRequest) returns (OptionsResponse);

  //Получить акцию по ее идентификатору
  rpc ShareBy (InstrumentRequest) returns (ShareResponse);

  //Получить список акций
  rpc Shares (InstrumentsRequest) returns (SharesResponse);

  //Получить индикативные инструменты — индексы, товары и другие
  rpc Indicatives(IndicativesRequest) returns (IndicativesResponse);

  //Получить накопленный купонный доход по облигации
  rpc GetAccruedInterests (GetAccruedInterestsRequest) returns (GetAccruedInterestsResponse);

  //Получить размера гарантийного обеспечения по фьючерсам
  rpc GetFuturesMargin (GetFuturesMarginRequest) returns (GetFuturesMarginResponse);

  //Получить основную информацию об инструменте
  rpc GetInstrumentBy (InstrumentRequest) returns (InstrumentResponse);

  //Получить события выплаты дивидендов по инструменту
  rpc GetDividends (GetDividendsRequest) returns (GetDividendsResponse);

  //Получить актив по его идентификатору
  rpc GetAssetBy (AssetRequest) returns (AssetResponse);

  //Получить список активов. Метод работает для всех инструментов, кроме срочных — фьючерсов и опционов
  rpc GetAssets (AssetsRequest) returns (AssetsResponse);

  //Получить список избранных инструментов
  rpc GetFavorites (GetFavoritesRequest) returns (GetFavoritesResponse);

  //Отредактировать список избранных инструментов
  rpc EditFavorites (EditFavoritesRequest) returns (EditFavoritesResponse);

  //Создать новую группу избранных инструментов
  rpc CreateFavoriteGroup (CreateFavoriteGroupRequest) returns (CreateFavoriteGroupResponse);

  //Удалить группу избранных инструментов
  rpc DeleteFavoriteGroup (DeleteFavoriteGroupRequest) returns (DeleteFavoriteGroupResponse);

  //Получить список групп избранных инструментов
  rpc GetFavoriteGroups (GetFavoriteGroupsRequest) returns (GetFavoriteGroupsResponse);

  //Получить список стран
  rpc GetCountries (GetCountriesRequest) returns (GetCountriesResponse);

  //Найти инструмент
  rpc FindInstrument (FindInstrumentRequest) returns (FindInstrumentResponse);

  //Получить список брендов
  rpc GetBrands(GetBrandsRequest) returns (GetBrandsResponse);

  //Получить бренд по его идентификатору
  rpc GetBrandBy(GetBrandRequest) returns (Brand);

  //Получить фундаментальные показатели по активу
  rpc GetAssetFundamentals(GetAssetFundamentalsRequest) returns (GetAssetFundamentalsResponse);

  //Получить расписания выхода отчетностей эмитентов
  rpc GetAssetReports(GetAssetReportsRequest) returns (GetAssetReportsResponse);

  //Получить мнения аналитиков по инструменту
  rpc GetConsensusForecasts(GetConsensusForecastsRequest) returns (GetConsensusForecastsResponse);

  //Получить прогнозов инвестдомов по инструменту
  rpc GetForecastBy(GetForecastRequest) returns (GetForecastResponse);

  rpc GetRiskRates(RiskRatesRequest) returns (RiskRatesResponse);
}

//Запрос расписания торгов.
message TradingSchedulesRequest {
  optional string exchange = 1; //Наименование биржи или расчетного календаря. <br/>Если не передается, возвращается информация по всем доступным торговым площадкам.
  optional google.protobuf.Timestamp from = 2; //Начало периода по UTC.
  optional google.protobuf.Timestamp to = 3; //Окончание периода по UTC.
}

//Список торговых площадок.
message TradingSchedulesResponse {
  repeated TradingSchedule exchanges = 1; // Список торговых площадок и режимов торгов.
}

//Данные по торговой площадке.
message TradingSchedule {
  string exchange = 1; // Наименование торговой площадки.
  repeated TradingDay days = 2; // Массив с торговыми и неторговыми днями.
}

//Информация о времени торгов.
message TradingDay {
  reserved 5, 6;
  google.protobuf.Timestamp date = 1; // Дата.
  bool is_trading_day = 2; // Признак торгового дня на бирже.
  google.protobuf.Timestamp start_time = 3; // Время начала торгов по UTC.
  google.protobuf.Timestamp end_time = 4; // Время окончания торгов по UTC.
  google.protobuf.Timestamp opening_auction_start_time = 7; // Время начала аукциона открытия по UTC.
  google.protobuf.Timestamp closing_auction_end_time = 8; // Время окончания аукциона закрытия по UTC.
  google.protobuf.Timestamp evening_opening_auction_start_time = 9; // Время начала аукциона открытия вечерней сессии по UTC.
  google.protobuf.Timestamp evening_start_time = 10; // Время начала вечерней сессии по UTC.
  google.protobuf.Timestamp evening_end_time = 11; // Время окончания вечерней сессии по UTC.
  google.protobuf.Timestamp clearing_start_time = 12; // Время начала основного клиринга по UTC.
  google.protobuf.Timestamp clearing_end_time = 13; // Время окончания основного клиринга по UTC.
  google.protobuf.Timestamp premarket_start_time = 14; // Время начала премаркета по UTC.
  google.protobuf.Timestamp premarket_end_time = 15; // Время окончания премаркета по UTC.
  google.protobuf.Timestamp closing_auction_start_time = 16; // Время начала аукциона закрытия по UTC.
  google.protobuf.Timestamp opening_auction_end_time = 17; // Время окончания аукциона открытия по UTC.
  repeated TradingInterval intervals = 18; // Торговые интервалы.
}

//Запрос получения инструмента по идентификатору.
message InstrumentRequest {
  InstrumentIdType id_type = 1 [(google.api.field_behavior) = REQUIRED]; // Тип идентификатора инструмента. Возможные значения — `figi`, `ticker`. [Подробнее об идентификации инструментов](./faq_identification/).
  optional string class_code = 2; // Идентификатор `class_code`. Обязательный, если `id_type = ticker`.
  string id = 3 [(google.api.field_behavior) = REQUIRED]; // Идентификатор запрашиваемого инструмента.
}

//Запрос получения инструментов.
message InstrumentsRequest {
  optional InstrumentStatus instrument_status = 1; //Статус запрашиваемых инструментов. [Возможные значения](#instrumentstatus).
  optional InstrumentExchangeType instrument_exchange = 2; // Тип площадки торговли. [Возможные значения](#instrumentexchangetype).
}
//Параметры фильтрации опционов.
message FilterOptionsRequest {
  optional string basic_asset_uid = 1; //Идентификатор базового актива опциона.  Обязательный параметр.
  optional string basic_asset_position_uid = 2; //Идентификатор позиции базового актива опциона.
}

//Информация об облигации.
message BondResponse {
  Bond instrument = 1; // Информация об облигации.
}

//Список облигаций.
message BondsResponse {
  repeated Bond instruments = 1; //Массив облигаций.
}

//Запрос купонов по облигации.
message GetBondCouponsRequest {
  string figi = 1 [deprecated = true]; //FIGI-идентификатор инструмента.
  optional google.protobuf.Timestamp from = 2; //Начало запрашиваемого периода по UTC. Фильтрация по `coupon_date` — дата выплаты купона.
  optional google.protobuf.Timestamp to = 3; //Окончание запрашиваемого периода по UTC. Фильтрация по `coupon_date` — дата выплаты купона.
  string instrument_id = 4 [(google.api.field_behavior) = REQUIRED]; //Идентификатор инструмента — `figi` или `instrument_uid`.
}

//Купоны по облигации.
message GetBondCouponsResponse {
  repeated Coupon events = 1;
}

//События по облигации.
message GetBondEventsRequest {
  optional google.protobuf.Timestamp from = 2; //Начало запрашиваемого периода по UTC.
  optional google.protobuf.Timestamp to = 3; //Окончание запрашиваемого периода по UTC.
  string instrument_id = 4 [(google.api.field_behavior) = REQUIRED]; //Идентификатор инструмента — `figi` или `instrument_uid`.
  EventType type = 5; //Тип события

  enum EventType {
    EVENT_TYPE_UNSPECIFIED = 0; //Неопределенное значение.
    EVENT_TYPE_CPN = 1; // Купон.
    EVENT_TYPE_CALL = 2; // Опцион (оферта).
    EVENT_TYPE_MTY = 3;// Погашение.
    EVENT_TYPE_CONV = 4; // Конвертация.
  }
}

//Объект передачи информации о событии облигации.
message GetBondEventsResponse {
  repeated BondEvent events = 1;
  message BondEvent {
    string instrument_id = 2; // Идентификатор инструмента.
    int32 event_number = 3; // Номер события для данного типа события.
    google.protobuf.Timestamp event_date = 4; // Дата события.
    GetBondEventsRequest.EventType event_type = 5; // Тип события.
    Quotation event_total_vol = 6; // Полное количество бумаг, задействованных в событии.
    google.protobuf.Timestamp fix_date = 7; // Дата фиксации владельцев для участия в событии.
    google.protobuf.Timestamp rate_date = 8; // Дата определения даты или факта события.
    google.protobuf.Timestamp  default_date = 9; // Дата дефолта, если применимо.
    google.protobuf.Timestamp real_pay_date = 10; // Дата реального исполнения обязательства.
    google.protobuf.Timestamp pay_date = 11; // Дата выплаты.
    MoneyValue pay_one_bond = 12; // Выплата на одну облигацию.
    MoneyValue money_flow_val = 13; // Выплаты на все бумаги, задействованные в событии.
    string execution = 14; // Признак исполнения.
    string operation_type = 15; // Тип операции.
    Quotation value = 16; // Стоимость операции — ставка купона, доля номинала, цена выкупа или коэффициент конвертации.
    string note = 17; // Примечание.
    string convert_to_fin_tool_id = 18; // ID выпуска бумаг, в который произведена конвертация (для конвертаций).
    google.protobuf.Timestamp coupon_start_date = 19; // Начало купонного периода.
    google.protobuf.Timestamp coupon_end_date = 20; // Окончание купонного периода.
    int32 coupon_period = 21; // Купонный период.
    Quotation  coupon_interest_rate = 22; // Ставка купона, процентов годовых.
  }
}



//Объект передачи информации о купоне облигации.
message Coupon {
  string figi = 1; //FIGI-идентификатор инструмента.
  google.protobuf.Timestamp coupon_date = 2; //Дата выплаты купона.
  int64 coupon_number = 3; //Номер купона.
  google.protobuf.Timestamp fix_date = 4; //Дата фиксации реестра для выплаты купона — опционально.
  MoneyValue pay_one_bond = 5; //Выплата на одну облигацию.
  CouponType coupon_type = 6;  //Тип купона.
  google.protobuf.Timestamp coupon_start_date = 7; //Начало купонного периода.
  google.protobuf.Timestamp coupon_end_date = 8;   //Окончание купонного периода.
  int32 coupon_period = 9; //Купонный период в днях.
}

//Тип купонов.
enum CouponType {
  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;       //Прочее.
}

//Данные по валюте.
message CurrencyResponse {
  Currency instrument = 1; // Информация о валюте.
}

//Данные по валютам.
message CurrenciesResponse {
  repeated Currency instruments = 1; //Массив валют.
}

//Данные по фонду.
message EtfResponse {
  Etf instrument = 1; // Информация о фонде.
}

//Данные по фондам.
message EtfsResponse {
  repeated Etf instruments = 1; //Массив фондов.
}

//Данные по фьючерсу.
message FutureResponse {
  Future instrument = 1; // Информация о фьючерсу.
}

//Данные по фьючерсам.
message FuturesResponse {
  repeated Future instruments = 1; //Массив фьючерсов.
}

//Данные по опциону.
message OptionResponse {
  Option instrument = 1; // Информация по опциону.
}

//Данные по опционам.
message OptionsResponse {
  repeated Option instruments = 1; //Массив данных по опциону.
}

//Опцион.
message Option {
  string uid = 1; //Уникальный идентификатор инструмента.
  string position_uid = 2; //Уникальный идентификатор позиции.
  string ticker = 3; //Тикер инструмента.
  string class_code = 4; //Класс-код.
  string basic_asset_position_uid = 5; //Уникальный идентификатор позиции основного инструмента.

  SecurityTradingStatus trading_status = 21; //Текущий режим торгов инструмента.
  RealExchange real_exchange = 31; //Реальная площадка исполнения расчетов (биржа).
  OptionDirection direction = 41; //Направление опциона.
  OptionPaymentType payment_type = 42; //Тип расчетов по опциону.
  OptionStyle style = 43; //Стиль опциона.
  OptionSettlementType settlement_type = 44; //Способ исполнения опциона.

  string name = 101; //Название инструмента.
  string currency = 111; //Валюта.
  string settlement_currency = 112; //Валюта, в которой оценивается контракт.
  string asset_type = 131; //Тип актива.
  string basic_asset = 132; //Основной актив.
  string exchange = 141; // Tорговая площадка (секция биржи).
  string country_of_risk = 151; //Код страны рисков.
  string country_of_risk_name = 152; //Наименование страны рисков.
  string sector = 161; //Сектор экономики.
  BrandData brand = 162; // Информация о бренде.

  int32 lot = 201; //Количество бумаг в лоте.
  Quotation basic_asset_size = 211; //Размер основного актива.
  Quotation klong = 221 [deprecated = true]; //Коэффициент ставки риска длинной позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР); 1 – клиент с повышенным уровнем риска (КПУР).
  Quotation kshort = 222 [deprecated = true]; //Коэффициент ставки риска короткой позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР); 1 – клиент с повышенным уровнем риска (КПУР).
  Quotation dlong = 223; //Ставка риска начальной маржи для КСУР лонг. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort = 224; //Ставка риска начальной маржи для КСУР шорт. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dlong_min = 225; //Ставка риска начальной маржи для КПУР лонг. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort_min = 226; //Ставка риска начальной маржи для КПУР шорт. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation min_price_increment = 231; //Минимальный шаг цены.
  MoneyValue strike_price = 241; //Цена страйка.

  Quotation dlong_client = 290; //Ставка риска в лонг с учетом текущего уровня риска портфеля клиента. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort_client = 291; //Ставка риска в шорт с учетом текущего уровня риска портфеля клиента. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).

  google.protobuf.Timestamp expiration_date = 301; //Дата истечения срока в формате UTC.
  google.protobuf.Timestamp first_trade_date = 311; //Дата начала обращения контракта в формате UTC.
  google.protobuf.Timestamp last_trade_date = 312; //Дата исполнения в формате UTC.
  google.protobuf.Timestamp first_1min_candle_date = 321; //Дата первой минутной свечи в формате UTC.
  google.protobuf.Timestamp first_1day_candle_date = 322; //Дата первой дневной свечи в формате UTC.

  bool short_enabled_flag = 401; //Признак доступности для операций шорт.
  bool for_iis_flag = 402; //Возможность покупки или продажи на ИИС.
  bool otc_flag = 403; //Флаг, используемый ранее для определения внебиржевых инструментов. На данный момент не используется для торгуемых через API инструментов. Может использоваться как фильтр для операций, совершавшихся некоторое время назад на ОТС площадке.
  bool buy_available_flag = 404; //Признак доступности для покупки.
  bool sell_available_flag = 405; //Признак доступности для продажи.
  bool for_qual_investor_flag = 406; //Флаг, отображающий доступность торговли инструментом только для квалифицированных инвесторов.
  bool weekend_flag = 407; //Флаг, отображающий доступность торговли инструментом по выходным.
  bool blocked_tca_flag = 408; //Флаг заблокированного ТКС.
  bool api_trade_available_flag = 409; //Возможность торговать инструментом через API.
}

//Тип опциона по направлению сделки.
enum OptionDirection {
  OPTION_DIRECTION_UNSPECIFIED = 0; //Тип не определен.
  OPTION_DIRECTION_PUT = 1; //Опцион на продажу.
  OPTION_DIRECTION_CALL = 2; //Опцион на покупку.
}

//Тип расчетов по опциону.
enum OptionPaymentType {
  OPTION_PAYMENT_TYPE_UNSPECIFIED = 0; //Тип не определен.
  OPTION_PAYMENT_TYPE_PREMIUM = 1; //Опционы с использованием премии в расчетах.
  OPTION_PAYMENT_TYPE_MARGINAL = 2; //Маржируемые опционы.
}

//Тип опциона по стилю.
enum OptionStyle {
  OPTION_STYLE_UNSPECIFIED = 0; //Тип не определен.
  OPTION_STYLE_AMERICAN = 1;  //Американский опцион.
  OPTION_STYLE_EUROPEAN = 2; //Европейский опцион.
}

//Тип опциона по способу исполнения.
enum OptionSettlementType {
  OPTION_EXECUTION_TYPE_UNSPECIFIED = 0; //Тип не определен.
  OPTION_EXECUTION_TYPE_PHYSICAL_DELIVERY = 1; // Поставочный тип опциона.
  OPTION_EXECUTION_TYPE_CASH_SETTLEMENT = 2; //Расчетный тип опциона.
}

//Данные по акции.
message ShareResponse {
  Share instrument = 1; // Информация об акции.
}

//Данные по акциям.
message SharesResponse {
  repeated Share instruments = 1; //Массив акций.
}

//Объект передачи информации об облигации.
message Bond {
  string figi = 1; //FIGI-идентификатор инструмента.
  string ticker = 2;  //Тикер инструмента.
  string class_code = 3; //Класс-код (секция торгов).
  string isin = 4; //ISIN-идентификатор инструмента.
  int32 lot = 5; //Лотность инструмента. Возможно совершение операций только на количества ценной бумаги, кратные параметру `lot`. [Подробнее](./glossary#lot).
  string currency = 6; //Валюта расчетов.

  Quotation klong = 7 [deprecated = true]; //Коэффициент ставки риска длинной позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР); 1 – клиент с повышенным уровнем риска (КПУР).
  Quotation kshort = 8 [deprecated = true]; //Коэффициент ставки риска короткой позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР); 1 – клиент с повышенным уровнем риска (КПУР).
  Quotation dlong = 9; //Ставка риска начальной маржи для КСУР лонг. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort = 10; //Ставка риска начальной маржи для КСУР шорт. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dlong_min = 11; // Ставка риска начальной маржи для КПУР лонг. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort_min = 12; //Ставка риска начальной маржи для КПУР шорт. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  bool short_enabled_flag = 13; //Признак доступности для операций в шорт.
  string name = 15; //Название инструмента.
  string exchange = 16; //Tорговая площадка (секция биржи).

  int32 coupon_quantity_per_year = 17; //Количество выплат по купонам в год.
  google.protobuf.Timestamp maturity_date = 18; //Дата погашения облигации по UTC.
  MoneyValue nominal = 19; //Номинал облигации.
  MoneyValue initial_nominal = 20; //Первоначальный номинал облигации.

  google.protobuf.Timestamp state_reg_date = 21; //Дата выпуска облигации по UTC.
  google.protobuf.Timestamp placement_date = 22; //Дата размещения по UTC.
  MoneyValue placement_price = 23; //Цена размещения.
  MoneyValue aci_value = 24; //Значение НКД (накопленного купонного дохода) на дату.

  string country_of_risk = 25; //Код страны риска — то есть страны, в которой компания ведет основной бизнес.
  string country_of_risk_name = 26; //Наименование страны риска — то есть страны, в которой компания ведет основной бизнес.
  string sector = 27; //Сектор экономики.
  string issue_kind = 28; //Форма выпуска. Возможные значения: <br/>**documentary** — документарная; <br/>**non_documentary** — бездокументарная.
  int64 issue_size = 29; //Размер выпуска.
  int64 issue_size_plan = 30; //Плановый размер выпуска.

  SecurityTradingStatus trading_status = 31; //Текущий режим торгов инструмента.
  bool otc_flag = 32; //Флаг, используемый ранее для определения внебиржевых инструментов. На данный момент не используется для торгуемых через API инструментов. Может использоваться как фильтр для операций, совершавшихся некоторое время назад на ОТС площадке.
  bool buy_available_flag = 33; //Признак доступности для покупки.
  bool sell_available_flag = 34; //Признак доступности для продажи.
  bool floating_coupon_flag = 35; //Признак облигации с плавающим купоном.
  bool perpetual_flag = 36; //Признак бессрочной облигации.
  bool amortization_flag = 37; //Признак облигации с амортизацией долга.
  Quotation min_price_increment = 38; //Шаг цены.
  bool api_trade_available_flag = 39; //Параметр указывает на возможность торговать инструментом через API.

  string uid = 40; //Уникальный идентификатор инструмента.
  RealExchange real_exchange = 41; //Реальная площадка исполнения расчетов. (биржа)
  string position_uid = 42; //Уникальный идентификатор позиции инструмента.
  string asset_uid = 43; //Уникальный идентификатор актива.

  bool for_iis_flag = 51; //Признак доступности для ИИС.
  bool for_qual_investor_flag = 52; //Флаг, отображающий доступность торговли инструментом только для квалифицированных инвесторов.
  bool weekend_flag = 53; //Флаг, отображающий доступность торговли инструментом по выходным.
  bool blocked_tca_flag = 54; //Флаг заблокированного ТКС.
  bool subordinated_flag = 55; //Признак субординированной облигации.
  bool liquidity_flag = 56; //Флаг достаточной ликвидности.
  google.protobuf.Timestamp first_1min_candle_date = 61; //Дата первой минутной свечи.
  google.protobuf.Timestamp first_1day_candle_date = 62; //Дата первой дневной свечи.
  RiskLevel risk_level = 63; //Уровень риска.
  BrandData brand = 64; // Информация о бренде.
  BondType bond_type = 65; // Тип облигации.
  google.protobuf.Timestamp call_date = 69;  // Дата погашения облигации.

  Quotation dlong_client = 90; //Ставка риска в лонг с учетом текущего уровня риска портфеля клиента. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort_client = 91; //Ставка риска в шорт с учетом текущего уровня риска портфеля клиента. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).

}

//Объект передачи информации о валюте.
message Currency {
  string figi = 1; //FIGI-идентификатор инструмента.
  string ticker = 2;  //Тикер инструмента.
  string class_code = 3; //Класс-код (секция торгов).
  string isin = 4; //ISIN-идентификатор инструмента.
  int32 lot = 5; //Лотность инструмента. Возможно совершение операций только на количества ценной бумаги, кратные параметру `lot`. [Подробнее](./glossary#lot).
  string currency = 6; //Валюта расчетов.

  Quotation klong = 7 [deprecated = true]; //Коэффициент ставки риска длинной позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР); 1 – клиент с повышенным уровнем риска (КПУР).
  Quotation kshort = 8 [deprecated = true]; //Коэффициент ставки риска короткой позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР); 1 – клиент с повышенным уровнем риска (КПУР).
  Quotation dlong = 9; //Ставка риска начальной маржи для КСУР лонг. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort = 10; //Ставка риска начальной маржи для КСУР шорт. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dlong_min = 11; //Ставка риска начальной маржи для КПУР лонг. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort_min = 12; //Ставка риска начальной маржи для КПУР шорт. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  bool short_enabled_flag = 13; //Признак доступности для операций в шорт.
  string name = 15; //Название инструмента.
  string exchange = 16; //Tорговая площадка (секция биржи).

  MoneyValue nominal = 17; //Номинал.

  string country_of_risk = 18; //Код страны риска — то есть страны, в которой компания ведет основной бизнес.
  string country_of_risk_name = 19; //Наименование страны риска — то есть страны, в которой компания ведет основной бизнес.

  SecurityTradingStatus trading_status = 20; //Текущий режим торгов инструмента.
  bool otc_flag = 21; //Флаг, используемый ранее для определения внебиржевых инструментов. На данный момент не используется для торгуемых через API инструментов. Может использоваться как фильтр для операций, совершавшихся некоторое время назад на ОТС площадке.
  bool buy_available_flag = 22; //Признак доступности для покупки.
  bool sell_available_flag = 23; //Признак доступности для продажи.
  string iso_currency_name = 24; //Строковый ISO-код валюты.
  Quotation min_price_increment = 25; //Шаг цены.
  bool api_trade_available_flag = 26; //Параметр указывает на возможность торговать инструментом через API.

  string uid = 27; //Уникальный идентификатор инструмента.
  RealExchange real_exchange = 28; //Реальная площадка исполнения расчетов (биржа).
  string position_uid = 29; //Уникальный идентификатор позиции инструмента.

  bool for_iis_flag = 41; //Признак доступности для ИИС.
  bool for_qual_investor_flag = 52; //Флаг, отображающий доступность торговли инструментом только для квалифицированных инвесторов.
  bool weekend_flag = 53; //Флаг, отображающий доступность торговли инструментом по выходным.
  bool blocked_tca_flag = 54; //Флаг заблокированного ТКС.
  google.protobuf.Timestamp first_1min_candle_date = 56; //Дата первой минутной свечи.
  google.protobuf.Timestamp first_1day_candle_date = 57; //Дата первой дневной свечи.
  BrandData brand = 60; // Информация о бренде.

  Quotation dlong_client = 90; //Ставка риска в лонг с учетом текущего уровня риска портфеля клиента. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort_client = 91; //Ставка риска в шорт с учетом текущего уровня риска портфеля клиента. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).

}

//Объект передачи информации об инвестиционном фонде.
message Etf {
  string figi = 1; //FIGI-идентификатор инструмента.
  string ticker = 2; //Тикер инструмента.
  string class_code = 3; //Класс-код (секция торгов).
  string isin = 4; //ISIN-идентификатор инструмента.
  int32 lot = 5; //Лотность инструмента. Возможно совершение операций только на количества ценной бумаги, кратные параметру `lot`. [Подробнее](./glossary#lot).
  string currency = 6; //Валюта расчетов.

  Quotation klong = 7 [deprecated = true]; //Коэффициент ставки риска длинной позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР); 1 – клиент с повышенным уровнем риска (КПУР).
  Quotation kshort = 8 [deprecated = true]; //Коэффициент ставки риска короткой позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР); 1 – клиент с повышенным уровнем риска (КПУР).
  Quotation dlong = 9; //Ставка риска начальной маржи для КСУР лонг. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort = 10; //Ставка риска начальной маржи для КСУР шорт. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dlong_min = 11; //Ставка риска начальной маржи для КПУР лонг. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort_min = 12; //Ставка риска начальной маржи для КПУР шорт. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  bool short_enabled_flag = 13; //Признак доступности для операций в шорт.
  string name = 15; //Название инструмента.
  string exchange = 16; //Tорговая площадка (секция биржи).

  Quotation fixed_commission = 17; //Размер фиксированной комиссии фонда.
  string focus_type = 18; //Возможные значения: <br/>**equity** — акции;<br/>**fixed_income** — облигации;<br/>**mixed_allocation** — смешанный;<br/>**money_market** — денежный рынок;<br/>**real_estate** — недвижимость;<br/>**commodity** — товары;<br/>**specialty** — специальный;<br/>**private_equity** — private equity;<br/>**alternative_investment** — альтернативные инвестиции.
  google.protobuf.Timestamp released_date = 19; //Дата выпуска по UTC.
  Quotation num_shares = 20; //Количество паев фонда в обращении.

  string country_of_risk = 21; //Код страны риска — то есть страны, в которой компания ведет основной бизнес.
  string country_of_risk_name = 22; //Наименование страны риска — то есть страны, в которой компания ведет основной бизнес.
  string sector = 23; //Сектор экономики.
  string rebalancing_freq = 24; //Частота ребалансировки.

  SecurityTradingStatus trading_status = 25; //Текущий режим торгов инструмента.
  bool otc_flag = 26; //Флаг, используемый ранее для определения внебиржевых инструментов. На данный момент не используется для торгуемых через API инструментов. Может использоваться как фильтр для операций, совершавшихся некоторое время назад на ОТС площадке.
  bool buy_available_flag = 27; //Признак доступности для покупки.
  bool sell_available_flag = 28; //Признак доступности для продажи.
  Quotation min_price_increment = 29; //Шаг цены.
  bool api_trade_available_flag = 30; //Параметр указывает на возможность торговать инструментом через API.

  string uid = 31; //Уникальный идентификатор инструмента.
  RealExchange real_exchange = 32; //Реальная площадка исполнения расчетов (биржа).
  string position_uid = 33; //Уникальный идентификатор позиции инструмента.
  string asset_uid = 34; //Уникальный идентификатор актива.
  InstrumentExchangeType instrument_exchange = 35; //Тип площадки торговли.

  bool for_iis_flag = 41; //Признак доступности для ИИС.
  bool for_qual_investor_flag = 42; //Флаг, отображающий доступность торговли инструментом только для квалифицированных инвесторов.
  bool weekend_flag = 43; //ФлагФлаг, отображающий доступность торговли инструментом по выходным.
  bool blocked_tca_flag = 44; //Флаг заблокированного ТКС.
  bool liquidity_flag = 45; //Флаг достаточной ликвидности.
  google.protobuf.Timestamp first_1min_candle_date = 56; //Дата первой минутной свечи.
  google.protobuf.Timestamp first_1day_candle_date = 57; //Дата первой дневной свечи.
  BrandData brand = 60; // Информация о бренде.

  Quotation dlong_client = 90; //Ставка риска в лонг с учетом текущего уровня риска портфеля клиента. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort_client = 91; //Ставка риска в шорт с учетом текущего уровня риска портфеля клиента. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).

}

//Объект передачи информации о фьючерсе.
message Future {
  string figi = 1; //FIGI-идентификатор инструмента.
  string ticker = 2;  //Тикер инструмента.
  string class_code = 3; //Класс-код (секция торгов).
  int32 lot = 4; //Лотность инструмента. Возможно совершение операций только на количества ценной бумаги, кратные параметру `lot`. [Подробнее](./glossary#lot).
  string currency = 5; //Валюта расчетов.

  Quotation klong = 6 [deprecated = true]; //Коэффициент ставки риска длинной позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР); 1 – клиент с повышенным уровнем риска (КПУР).
  Quotation kshort = 7 [deprecated = true]; //Коэффициент ставки риска короткой позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР); 1 – клиент с повышенным уровнем риска (КПУР).
  Quotation dlong = 8; //Ставка риска начальной маржи для КСУР лонг. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort = 9; //Ставка риска начальной маржи для КСУР шорт. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dlong_min = 10; //Ставка риска начальной маржи для КПУР лонг. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort_min = 11; //Ставка риска начальной маржи для КПУР шорт. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  bool short_enabled_flag = 12; //Признак доступности для операций шорт.
  string name = 13; //Название инструмента.
  string exchange = 14; //Tорговая площадка (секция биржи).

  google.protobuf.Timestamp first_trade_date = 15; //Дата начала обращения контракта по UTC.
  google.protobuf.Timestamp last_trade_date = 16; //Дата по UTC, до которой возможно проведение операций с фьючерсом.
  string futures_type = 17; //Тип фьючерса. Возможные значения: <br/>**physical_delivery** — физические поставки; <br/>**cash_settlement** — денежный эквивалент.
  string asset_type = 18; //Тип актива. Возможные значения: <br/>**commodity** — товар; <br/>**currency** — валюта; <br/>**security** — ценная бумага; <br/>**index** — индекс.
  string basic_asset = 19;  //Основной актив.
  Quotation basic_asset_size = 20;  //Размер основного актива.

  string country_of_risk = 21; //Код страны риска — то есть страны, в которой компания ведет основной бизнес.
  string country_of_risk_name = 22; //Наименование страны риска — то есть страны, в которой компания ведет основной бизнес.
  string sector = 23; //Сектор экономики.
  google.protobuf.Timestamp expiration_date = 24; //Дата истечения срока в часов поясе UTC.

  SecurityTradingStatus trading_status = 25; //Текущий режим торгов инструмента.
  bool otc_flag = 26; //Флаг, используемый ранее для определения внебиржевых инструментов. На данный момент не используется для торгуемых через API инструментов. Может использоваться как фильтр для операций, совершавшихся некоторое время назад на ОТС площадке.
  bool buy_available_flag = 27; //Признак доступности для покупки.
  bool sell_available_flag = 28; //Признак доступности для продажи.
  Quotation min_price_increment = 29; //Шаг цены.
  bool api_trade_available_flag = 30; //Параметр указывает на возможность торговать инструментом через API.

  string uid = 31; //Уникальный идентификатор инструмента.
  RealExchange real_exchange = 32; //Реальная площадка исполнения расчетов (биржа).
  string position_uid = 33; //Уникальный идентификатор позиции инструмента.
  string basic_asset_position_uid = 34; //Уникальный идентификатор позиции основного инструмента.

  bool for_iis_flag = 41; //Признак доступности для ИИС.
  bool for_qual_investor_flag = 42; //Флаг, отображающий доступность торговли инструментом только для квалифицированных инвесторов.
  bool weekend_flag = 43; //Флаг, отображающий доступность торговли инструментом по выходным.
  bool blocked_tca_flag = 44; //Флаг заблокированного ТКС.
  google.protobuf.Timestamp first_1min_candle_date = 56; //Дата первой минутной свечи.
  google.protobuf.Timestamp first_1day_candle_date = 57; //Дата первой дневной свечи.

  MoneyValue initial_margin_on_buy = 61; //Гарантийное обеспечение при покупке.
  MoneyValue initial_margin_on_sell = 62; //Гарантийное обеспечение при продаже.
  Quotation min_price_increment_amount = 63; //Стоимость шага цены.
  BrandData brand = 64; // Информация о бренде.

  Quotation dlong_client = 90; //Ставка риска в лонг с учетом текущего уровня риска портфеля клиента. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort_client = 91; //Ставка риска в шорт с учетом текущего уровня риска портфеля клиента. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
}

//Объект передачи информации об акции.
message Share {
  string figi = 1; //FIGI-идентификатор инструмента.
  string ticker = 2;  //Тикер инструмента.
  string class_code = 3; //Класс-код (секция торгов).
  string isin = 4; //ISIN-идентификатор инструмента.
  int32 lot = 5; //Лотность инструмента. Возможно совершение операций только на количества ценной бумаги, кратные параметру `lot`. [Подробнее](./glossary#lot)
  string currency = 6; //Валюта расчетов.

  Quotation klong = 7 [deprecated = true]; //Коэффициент ставки риска длинной позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР); 1 – клиент с повышенным уровнем риска (КПУР).
  Quotation kshort = 8 [deprecated = true]; //Коэффициент ставки риска короткой позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР); 1 – клиент с повышенным уровнем риска (КПУР).
  Quotation dlong = 9; //Ставка риска начальной маржи для КСУР лонг. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort = 10; //Ставка риска начальной маржи для КСУР шорт. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dlong_min = 11; //Ставка риска начальной маржи для КПУР лонг. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort_min = 12; //Ставка риска начальной маржи для КПУР шорт. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  bool short_enabled_flag = 13; //Признак доступности для операций в шорт.
  string name = 15; //Название инструмента.
  string exchange = 16; //Tорговая площадка (секция биржи).

  google.protobuf.Timestamp  ipo_date = 17; //Дата IPO акции по UTC.
  int64 issue_size = 18; //Размер выпуска.

  string country_of_risk = 19; //Код страны риска — то есть страны, в которой компания ведет основной бизнес.
  string country_of_risk_name = 20; //Наименование страны риска — то есть страны, в которой компания ведет основной бизнес.
  string sector = 21; //Сектор экономики.
  int64 issue_size_plan = 22; //Плановый размер выпуска.
  MoneyValue nominal = 23; //Номинал.

  SecurityTradingStatus trading_status = 25; //Текущий режим торгов инструмента.
  bool otc_flag = 26; //Флаг, используемый ранее для определения внебиржевых инструментов. На данный момент не используется для торгуемых через API инструментов. Может использоваться как фильтр для операций, совершавшихся некоторое время назад на ОТС площадке.
  bool buy_available_flag = 27; //Признак доступности для покупки.
  bool sell_available_flag = 28; //Признак доступности для продажи.
  bool div_yield_flag = 29; //Признак наличия дивидендной доходности.
  ShareType share_type = 30; //Тип акции. Возможные значения — `[ShareType](./instruments#sharetype)`.
  Quotation min_price_increment = 31; //Шаг цены.
  bool api_trade_available_flag = 32; //Возможность торговать инструментом через API.

  string uid = 33; //Уникальный идентификатор инструмента.
  RealExchange real_exchange = 34; //Реальная площадка исполнения расчетов (биржа).
  string position_uid = 35; //Уникальный идентификатор позиции инструмента.
  string asset_uid = 36; //Уникальный идентификатор актива.
  InstrumentExchangeType instrument_exchange = 37; //Тип площадки торговли.

  bool for_iis_flag = 46; //Признак доступности для ИИС.
  bool for_qual_investor_flag = 47; //Флаг, отображающий доступность торговли инструментом только для квалифицированных инвесторов.
  bool weekend_flag = 48; //Флаг, отображающий доступность торговли инструментом по выходным.
  bool blocked_tca_flag = 49; //Флаг заблокированного ТКС.
  bool liquidity_flag = 50; //Флаг достаточной ликвидности.
  google.protobuf.Timestamp first_1min_candle_date = 56; //Дата первой минутной свечи.
  google.protobuf.Timestamp first_1day_candle_date = 57; //Дата первой дневной свечи.
  BrandData brand = 60; // Информация о бренде.

  Quotation dlong_client = 90; //Ставка риска в лонг с учетом текущего уровня риска портфеля клиента. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort_client = 91; //Ставка риска в шорт с учетом текущего уровня риска портфеля клиента. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
}

//Запрос НКД по облигации.
message GetAccruedInterestsRequest {
  string figi = 1 [deprecated = true]; //FIGI-идентификатор инструмента.
  google.protobuf.Timestamp from = 2 [(google.api.field_behavior) = REQUIRED]; //Начало запрашиваемого периода по UTC.
  google.protobuf.Timestamp to = 3 [(google.api.field_behavior) = REQUIRED]; //Окончание запрашиваемого периода по UTC.
  string instrument_id = 4 [(google.api.field_behavior) = REQUIRED]; //Идентификатор инструмента — `figi` или `instrument_uid`.
}

//НКД облигации.
message GetAccruedInterestsResponse {
  repeated AccruedInterest accrued_interests = 1; //Массив операций начисления купонов.
}

//Операция начисления купонов.
message AccruedInterest {
  google.protobuf.Timestamp date = 1; //Дата и время выплаты по UTC.
  Quotation value = 2; //Величина выплаты.
  Quotation value_percent = 3; //Величина выплаты в процентах от номинала.
  Quotation nominal = 4; //Номинал облигации.
}

//Запрос информации о фьючерсе
message GetFuturesMarginRequest {
  string figi = 1 [deprecated = true]; // Идентификатор инструмента.
  string instrument_id = 4 [(google.api.field_behavior) = REQUIRED]; //Идентификатор инструмента — `figi` или `instrument_uid`.
}

//Данные по фьючерсу
message GetFuturesMarginResponse {
  MoneyValue initial_margin_on_buy = 1; //Гарантийное обеспечение при покупке.
  MoneyValue initial_margin_on_sell = 2; //Гарантийное обеспечение при продаже.
  Quotation min_price_increment = 3; //Шаг цены.
  Quotation min_price_increment_amount = 4; //Стоимость шага цены.
}

//Тип идентификатора инструмента. [Подробнее об идентификации инструментов](./faq_identification/).
enum InstrumentIdType {
  INSTRUMENT_ID_UNSPECIFIED = 0; //Значение не определено.
  INSTRUMENT_ID_TYPE_FIGI = 1; //FIGI.
  INSTRUMENT_ID_TYPE_TICKER = 2; //Ticker.
  INSTRUMENT_ID_TYPE_UID = 3; //Уникальный идентификатор.
  INSTRUMENT_ID_TYPE_POSITION_UID = 4; //Идентификатор позиции.
}

//Данные по инструменту.
message InstrumentResponse {
  Instrument instrument = 1; // Основная информация об инструменте.
}

//Объект передачи основной информации об инструменте.
message Instrument {
  string figi = 1; //FIGI-идентификатор инструмента.
  string ticker = 2;  //Тикер инструмента.
  string class_code = 3; //Класс-код инструмента.
  string isin = 4; //ISIN-идентификатор инструмента.
  int32 lot = 5; //Лотность инструмента. Возможно совершение операций только на количества ценной бумаги, кратные параметру `lot`. [Подробнее](./glossary#lot).
  string currency = 6; //Валюта расчетов.

  Quotation klong = 7 [deprecated = true]; //Коэффициент ставки риска длинной позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР); 1 – клиент с повышенным уровнем риска (КПУР).
  Quotation kshort = 8 [deprecated = true]; //Коэффициент ставки риска короткой позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР); 1 – клиент с повышенным уровнем риска (КПУР).
  Quotation dlong = 9; //Ставка риска начальной маржи для КСУР лонг. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort = 10; //Ставка риска начальной маржи для КСУР шорт. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dlong_min = 11; //Ставка риска начальной маржи для КПУР лонг. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort_min = 12; //Ставка риска начальной маржи для КПУР шорт. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  bool short_enabled_flag = 13; //Признак доступности для операций в шорт.
  string name = 14; //Название инструмента.
  string exchange = 15; //Tорговая площадка (секция биржи).

  string country_of_risk = 16; //Код страны риска — то есть страны, в которой компания ведет основной бизнес.
  string country_of_risk_name = 17; //Наименование страны риска — то есть страны, в которой компания ведет основной бизнес.
  string instrument_type = 18; //Тип инструмента.

  SecurityTradingStatus trading_status = 19; //Текущий режим торгов инструмента.
  bool otc_flag = 20; //Флаг, используемый ранее для определения внебиржевых инструментов. На данный момент не используется для торгуемых через API инструментов. Может использоваться как фильтр для операций, совершавшихся некоторое время назад на ОТС площадке.
  bool buy_available_flag = 21; //Признак доступности для покупки.
  bool sell_available_flag = 22; //Признак доступности для продажи.
  Quotation min_price_increment = 23; //Шаг цены.
  bool api_trade_available_flag = 24; //Параметр указывает на возможность торговать инструментом через API.

  string uid = 25; //Уникальный идентификатор инструмента.
  RealExchange real_exchange = 26; //Реальная площадка исполнения расчетов (биржа).
  string position_uid = 27; //Уникальный идентификатор позиции инструмента.
  string asset_uid = 28; //Уникальный идентификатор актива.

  bool for_iis_flag = 36; //Признак доступности для ИИС.
  bool for_qual_investor_flag = 37; //Флаг, отображающий доступность торговли инструментом только для квалифицированных инвесторов.
  bool weekend_flag = 38; //Флаг, отображающий доступность торговли инструментом по выходным.
  bool blocked_tca_flag = 39; //Флаг заблокированного ТКС.
  InstrumentType instrument_kind = 40; //Тип инструмента.
  google.protobuf.Timestamp first_1min_candle_date = 56; //Дата первой минутной свечи.
  google.protobuf.Timestamp first_1day_candle_date = 57; //Дата первой дневной свечи.
  BrandData brand = 60; // Информация о бренде.

  Quotation dlong_client = 490; //Ставка риска в лонг с учетом текущего уровня риска портфеля клиента. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).
  Quotation dshort_client = 491; //Ставка риска в шорт с учетом текущего уровня риска портфеля клиента. [Подробнее про ставки риска](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q5).

}

//Запрос дивидендов.
message GetDividendsRequest {
  string figi = 1 [deprecated = true]; //FIGI-идентификатор инструмента.
  optional google.protobuf.Timestamp from = 2; //Начало запрашиваемого периода по UTC. Фильтрация происходит по параметру `record_date` — дата фиксации реестра.
  optional google.protobuf.Timestamp to = 3; //Окончание запрашиваемого периода по UTC. Фильтрация происходит по параметру `record_date` — дата фиксации реестра.
  string instrument_id = 4 [(google.api.field_behavior) = REQUIRED]; //Идентификатор инструмента — `figi` или `instrument_uid`.
}

//Дивиденды.
message GetDividendsResponse {
  repeated Dividend dividends = 1;
}

//Информация о выплате.
message Dividend {
  MoneyValue dividend_net = 1; //Величина дивиденда на 1 ценную бумагу (включая валюту).
  google.protobuf.Timestamp payment_date = 2; //Дата фактических выплат по UTC.
  google.protobuf.Timestamp declared_date = 3; //Дата объявления дивидендов по UTC.
  google.protobuf.Timestamp last_buy_date = 4; //Последний день (включительно) покупки для получения выплаты по UTC.
  string dividend_type = 5; //Тип выплаты. Возможные значения: `Regular Cash` – регулярные выплаты, `Cancelled` – выплата отменена, `Daily Accrual` – ежедневное начисление, `Return of Capital` – возврат капитала, прочие типы выплат.
  google.protobuf.Timestamp record_date = 6;  //Дата фиксации реестра по UTC.
  string regularity = 7; //Регулярность выплаты. Возможные значения: `Annual` – ежегодная, `Semi-Anl` – каждые полгода, прочие типы выплат.
  MoneyValue close_price = 8; //Цена закрытия инструмента на момент `ex_dividend_date`.
  Quotation yield_value = 9; //Величина доходности.
  google.protobuf.Timestamp created_at = 10; //Дата и время создания записи по UTC.
}

//Тип акций.
enum ShareType {
  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; //Траст недвижимости.
}

//Запрос актива по идентификатору.
message AssetRequest {
  string id = 1 [(google.api.field_behavior) = REQUIRED]; //UID-идентификатор актива.
}

//Данные по активу.
message AssetResponse {
  AssetFull asset = 1; //Актив.
}

//Запрос списка активов.
message AssetsRequest {
  optional InstrumentType instrument_type = 1;
  optional InstrumentStatus instrument_status = 2; //Статус запрашиваемых инструментов. [Возможные значения](#instrumentstatus).

}

//Список активов.
message AssetsResponse {
  repeated Asset assets = 1; //Активы.
}

message AssetFull {
  string uid = 1; //Уникальный идентификатор актива.
  AssetType type = 2; //Тип актива.
  string name = 3; //Наименование актива.
  string name_brief = 4; //Короткое наименование актива.
  string description = 5; //Описание актива.
  google.protobuf.Timestamp deleted_at = 6; //Дата и время удаления актива.
  repeated string required_tests = 7; //Тестирование клиентов.
  oneof ext {
    AssetCurrency currency = 8; //Валюта. Обязательно и заполняется только для `type = ASSET_TYPE_CURRENCY`.
    AssetSecurity security = 9; //Ценная бумага. Обязательно и заполняется только для `type = ASSET_TYPE_SECURITY`.
  }
  string gos_reg_code = 10; //Номер государственной регистрации.
  string cfi = 11; //Код CFI.
  string code_nsd = 12; //Код НРД инструмента.
  string status = 13; //Статус актива.
  Brand brand = 14; //Бренд.
  google.protobuf.Timestamp updated_at = 15; //Дата и время последнего обновления записи.
  string br_code = 16; //Код типа ц.б. по классификации Банка России.
  string br_code_name = 17; //Наименование кода типа ц.б. по классификации Банка России.
  repeated AssetInstrument instruments = 18; //Массив идентификаторов инструментов.
}

//Информация об активе.
message Asset {
  string uid = 1; //Уникальный идентификатор актива.
  AssetType type = 2; //Тип актива.
  string name = 3; //Наименование актива.
  repeated AssetInstrument instruments = 4; //Массив идентификаторов инструментов.
}

//Тип актива.
enum AssetType {
  ASSET_TYPE_UNSPECIFIED = 0; //Тип не определен.
  ASSET_TYPE_CURRENCY = 1; //Валюта.
  ASSET_TYPE_COMMODITY = 2; //Товар.
  ASSET_TYPE_INDEX = 3; //Индекс.
  ASSET_TYPE_SECURITY = 4; //Ценная бумага.
}

//Валюта.
message AssetCurrency {
  string base_currency = 1; //ISO-код валюты.
}

//Ценная бумага.
message AssetSecurity {
  string isin = 1; //ISIN-идентификатор ценной бумаги.
  string type = 2; //Тип ценной бумаги.
  InstrumentType instrument_kind = 10; //Тип инструмента.
  oneof ext {
    AssetShare share = 3; //Акция. Заполняется только для акций — тип актива `asset.type = ASSET_TYPE_SECURITY` и `security.type = share`.
    AssetBond bond = 4; //Облигация. Заполняется только для облигаций — тип актива `asset.type = ASSET_TYPE_SECURITY` и `security.type = bond`.
    AssetStructuredProduct sp = 5; //Структурная нота. Заполняется только для структурных продуктов — тип актива `asset.type = ASSET_TYPE_SECURITY` и `security.type = sp`.
    AssetEtf etf = 6; // Фонд. Заполняется только для фондов — тип актива `asset.type = ASSET_TYPE_SECURITY` и `security.type = etf`.
    AssetClearingCertificate clearing_certificate = 7; // Клиринговый сертификат участия. Заполняется только для клиринговых сертификатов — тип актива `asset.type = ASSET_TYPE_SECURITY` и security.type = `clearing_certificate`.
  }
}

//Акция.
message AssetShare {
  ShareType type = 1; //Тип акции.
  Quotation issue_size = 2; //Объем выпуска (шт.).
  Quotation nominal = 3; //Номинал.
  string nominal_currency = 4; //Валюта номинала.
  string primary_index = 5; //Индекс (Bloomberg).
  Quotation dividend_rate = 6; //Ставка дивиденда (для привилегированных акций).
  string preferred_share_type = 7; //Тип привилегированных акций.
  google.protobuf.Timestamp ipo_date = 8; //Дата IPO.
  google.protobuf.Timestamp registry_date = 9; //Дата регистрации.
  bool div_yield_flag = 10; //Признак наличия дивидендной доходности.
  string issue_kind = 11; //Форма выпуска ФИ.
  google.protobuf.Timestamp placement_date = 12; //Дата размещения акции.
  string repres_isin = 13; //ISIN базового актива.
  Quotation issue_size_plan = 14; //Объявленное количество, шт.
  Quotation total_float = 15; //Количество акций в свободном обращении.
}

//Облигация.
message AssetBond {
  Quotation current_nominal = 1; //Текущий номинал.
  string borrow_name = 2; //Наименование заемщика.
  Quotation issue_size = 3; //Объем эмиссии облигации (стоимость).
  Quotation nominal = 4 ; //Номинал облигации.
  string nominal_currency = 5; //Валюта номинала.
  string issue_kind = 6; //Форма выпуска облигации.
  string interest_kind = 7; //Форма дохода облигации.
  int32 coupon_quantity_per_year = 8; //Количество выплат в год.
  bool indexed_nominal_flag = 9; //Признак облигации с индексируемым номиналом.
  bool subordinated_flag = 10; //Признак субординированной облигации.
  bool collateral_flag = 11; //Признак обеспеченной облигации.
  bool tax_free_flag = 12; //Признак показывает, что купоны облигации не облагаются налогом — для mass market.
  bool amortization_flag = 13; //Признак облигации с амортизацией долга.
  bool floating_coupon_flag = 14; //Признак облигации с плавающим купоном.
  bool perpetual_flag = 15; //Признак бессрочной облигации.
  google.protobuf.Timestamp maturity_date = 16; //Дата погашения облигации.
  string return_condition = 17; //Описание и условия получения дополнительного дохода.
  google.protobuf.Timestamp state_reg_date = 18; //Дата выпуска облигации.
  google.protobuf.Timestamp placement_date = 19; //Дата размещения облигации.
  Quotation placement_price = 20; //Цена размещения облигации.
  Quotation issue_size_plan = 21; //Объявленное количество, шт.
}

//Структурная нота.
message AssetStructuredProduct {
  string borrow_name = 1; //Наименование заемщика.
  Quotation nominal = 2; //Номинал.
  string nominal_currency = 3; //Валюта номинала.
  StructuredProductType type = 4; //Тип структурной ноты.
  string logic_portfolio = 5; //Стратегия портфеля.
  AssetType asset_type = 6; //Тип базового актива.
  string basic_asset = 7; //Вид базового актива в зависимости от типа базового актива.
  Quotation safety_barrier = 8; //Барьер сохранности в процентах.
  google.protobuf.Timestamp maturity_date = 9; //Дата погашения.
  Quotation issue_size_plan = 10; //Объявленное количество, шт.
  Quotation issue_size = 11; //Объем размещения.
  google.protobuf.Timestamp placement_date = 12; //Дата размещения ноты.
  string issue_kind = 13; //Форма выпуска.
}

//Тип структурной ноты.
enum StructuredProductType {
  SP_TYPE_UNSPECIFIED = 0; //Тип не определен.
  SP_TYPE_DELIVERABLE = 1; //Поставочный.
  SP_TYPE_NON_DELIVERABLE = 2; //Беспоставочный.
}

//Фонд.
message AssetEtf {
  Quotation total_expense = 1; //Суммарные расходы фонда в процентах.
  Quotation hurdle_rate = 2; //Барьерная ставка доходности, после которой фонд имеет право на perfomance fee — в процентах.
  Quotation performance_fee = 3; //Комиссия за успешные результаты фонда в процентах.
  Quotation fixed_commission = 4; //Фиксированная комиссия за управление в процентах.
  string payment_type = 5; //Тип распределения доходов от выплат по бумагам.
  bool watermark_flag = 6; //Признак необходимости выхода фонда в плюс для получения комиссии.
  Quotation buy_premium = 7; //Премия (надбавка к цене) при покупке доли в фонде — в процентах.
  Quotation sell_discount = 8; //Ставка дисконта (вычет из цены) при продаже доли в фонде — в процентах.
  bool rebalancing_flag = 9; //Признак ребалансируемости портфеля фонда.
  string rebalancing_freq = 10; //Периодичность ребалансировки.
  string management_type = 11; //Тип управления.
  string primary_index = 12; //Индекс, который реплицирует (старается копировать) фонд.
  string focus_type = 13; //База ETF.
  bool leveraged_flag = 14; //Признак использования заемных активов (плечо).
  Quotation num_share = 15; //Количество акций в обращении.
  bool ucits_flag = 16; //Признак обязательства по отчетности перед регулятором.
  google.protobuf.Timestamp released_date = 17; //Дата выпуска.
  string  description = 18; //Описание фонда.
  string primary_index_description = 19; //Описание индекса, за которым следует фонд.
  string primary_index_company = 20; //Основные компании, в которые вкладывается фонд.
  Quotation index_recovery_period = 21; //Срок восстановления индекса после просадки.
  string inav_code = 22; //IVAV-код.
  bool div_yield_flag = 23; //Признак наличия дивидендной доходности.
  Quotation expense_commission = 24; //Комиссия на покрытие расходов фонда в процентах.
  Quotation primary_index_tracking_error = 25; //Ошибка следования за индексом в процентах.
  string rebalancing_plan = 26; //Плановая ребалансировка портфеля.
  string tax_rate = 27; //Ставки налогообложения дивидендов и купонов.
  repeated google.protobuf.Timestamp rebalancing_dates = 28; //Даты ребалансировок.
  string issue_kind = 29; //Форма выпуска.
  Quotation nominal = 30; //Номинал.
  string nominal_currency = 31; //Валюта номинала.
}

//Клиринговый сертификат участия.
message AssetClearingCertificate {
  Quotation nominal = 1; //Номинал.
  string nominal_currency = 2; //Валюта номинала.
}

//Бренд.
message Brand {
  string uid = 1; //UID-идентификатор бренда.
  string name = 2; //Наименование бренда.
  string description = 3; //Описание.
  string info = 4; //Информация о бренде.
  string company = 5; //Компания.
  string sector = 6; //Сектор.
  string country_of_risk = 7; //Код страны риска.
  string country_of_risk_name = 8; //Наименование страны риска.
}

//Идентификаторы инструмента.
message AssetInstrument {
  string uid = 1; //UID-идентификатор инструмента.
  string figi = 2; //FIGI-идентификатор инструмента.
  string instrument_type = 3; //Тип инструмента.
  string ticker = 4; //Тикер инструмента.
  string class_code = 5; //Класс-код (секция торгов).
  repeated InstrumentLink links = 6; //Массив связанных инструментов.
  InstrumentType instrument_kind = 10; //Тип инструмента.
  string position_uid = 11; //ID позиции.
}

//Связь с другим инструментом.
message InstrumentLink {
  string type = 1; //Тип связи.
  string instrument_uid = 2; //UID-идентификатор связанного инструмента.
}

//Запрос списка избранных инструментов, входные параметры не требуются.
message GetFavoritesRequest {
  optional string group_id = 1; //Уникальный идентификатор группы.
}

//В ответ передается список избранных инструментов в качестве массива.
message GetFavoritesResponse {
  repeated FavoriteInstrument favorite_instruments = 1; //Массив инструментов.
  optional string group_id = 2; //Уникальный идентификатор группы.
}

//Массив избранных инструментов.
message FavoriteInstrument {
  string figi = 1; //FIGI-идентификатор инструмента.
  string ticker = 2;  //Тикер инструмента.
  string class_code = 3; //Класс-код инструмента.
  string isin = 4; //ISIN-идентификатор инструмента.
  string instrument_type = 11; //Тип инструмента.
  string name = 12; //Название инструмента.
  string uid = 13; //Уникальный идентификатор инструмента.
  bool otc_flag = 16; //Флаг, используемый ранее для определения внебиржевых инструментов. На данный момент не используется для торгуемых через API инструментов. Может использоваться как фильтр для операций, совершавшихся некоторое время назад на ОТС площадке.
  bool api_trade_available_flag = 17; //Возможность торговать инструментом через API.
  InstrumentType instrument_kind = 18; //Тип инструмента.
}

//Запрос редактирования списка избранных инструментов.
message EditFavoritesRequest {
  repeated EditFavoritesRequestInstrument instruments = 1 [(google.api.field_behavior) = REQUIRED]; //Массив инструментов.
  EditFavoritesActionType action_type = 6 [(google.api.field_behavior) = REQUIRED]; //Тип действия со списком.
  optional string group_id = 7; //Уникальный идентификатор группы.
}

//Массив инструментов для редактирования списка избранных инструментов.
message EditFavoritesRequestInstrument {
  optional string figi = 1  [deprecated = true]; //FIGI-идентификатор инструмента.
  string instrument_id = 2  [(google.api.field_behavior) = REQUIRED]; //Идентификатор инструмента — `figi` или `instrument_uid`.
}

//Тип действия со списком избранных инструментов.
enum EditFavoritesActionType {
  EDIT_FAVORITES_ACTION_TYPE_UNSPECIFIED = 0; //Тип не определен.
  EDIT_FAVORITES_ACTION_TYPE_ADD = 1; //Добавить в список.
  EDIT_FAVORITES_ACTION_TYPE_DEL = 2; //Удалить из списка.
}

//Результат редактирования списка избранных инструментов.
message EditFavoritesResponse {
  repeated FavoriteInstrument favorite_instruments = 1; //Массив инструментов.
  optional string group_id = 2; //Уникальный идентификатор группы.
}

//Запрос создания новой группы избранных инструментов.
message CreateFavoriteGroupRequest {
  string group_name = 1 [(google.api.field_behavior) = REQUIRED]; //Название группы, не более 255 символов.
  string group_color = 2 [(google.api.field_behavior) = REQUIRED]; //Цвет группы. Принимает значения в HEX-формате, от "000000" до "FFFFFF"
  optional string note = 3; //Описание
}

message CreateFavoriteGroupResponse {
  string group_id = 1; //Уникальный идентификатор группы.
  string group_name = 2; //Название группы.
}

message DeleteFavoriteGroupRequest {
  string group_id = 1 [(google.api.field_behavior) = REQUIRED]; //Уникальный идентификатор группы.
}

message DeleteFavoriteGroupResponse {
}

message GetFavoriteGroupsRequest {
  repeated string instrument_id = 1; //Массив идентификаторов инструментов. Принимает значение `figi` или `instrument_uid`. Если в группе будет хотя бы один из инструментов массива, то в ответе у группы вернется признак `containsInstrument = true`.
  repeated string excluded_group_id = 2; //Массив идентификаторов групп, которые необходимо исключить из ответа.
}

message GetFavoriteGroupsResponse {
  repeated FavoriteGroup groups = 1; //Массив групп избранных списков инструментов.

  message FavoriteGroup {
    string group_id = 1 [(google.api.field_behavior) = REQUIRED]; //Уникальный идентификатор группы.
    string group_name = 2 [(google.api.field_behavior) = REQUIRED]; //Название группы.
    string color = 3 [(google.api.field_behavior) = REQUIRED]; //Цвет группы в HEX-формате.
    int32 size = 4 [(google.api.field_behavior) = REQUIRED]; //Количество инструментов в группе.
    optional bool contains_instrument = 5; //Признак наличия в группе хотя бы одного инструмента из запроса.
  }
}

//Реальная площадка исполнения расчетов.
enum RealExchange {
  REAL_EXCHANGE_UNSPECIFIED = 0; //Тип не определен.
  REAL_EXCHANGE_MOEX = 1; //Московская биржа.
  REAL_EXCHANGE_RTS = 2; //Санкт-Петербургская биржа.
  REAL_EXCHANGE_OTC = 3; //Внебиржевой инструмент.
  REAL_EXCHANGE_DEALER = 4; //Инструмент, торгуемый на площадке брокера.
}

//Запрос справочника стран.
message GetCountriesRequest {}

//Справочник стран.
message GetCountriesResponse {
  repeated CountryResponse countries = 1; //Массив стран.
}

//Запрос справочника индексов и товаров
message IndicativesRequest {}

//Справочник индексов и товаров
message IndicativesResponse {
  repeated IndicativeResponse instruments = 1; // Массив инструментов.
};

//Индикатив
message IndicativeResponse {
  string figi = 1; // FIGI-идентификатор инструмента.
  string ticker = 2;  // Тикер инструмента.
  string class_code = 3; // Класс-код инструмента.
  string currency = 4; // Валюта расчетов.
  InstrumentType instrument_kind = 10; //Тип инструмента.
  string name = 12; // Название инструмента.
  string exchange = 13; // Tорговая площадка (секция биржи).
  string uid = 14; // Уникальный идентификатор инструмента.
  bool buy_available_flag = 404; // Признак доступности для покупки.
  bool sell_available_flag = 405; // Признак доступности для продажи.
}

//Данные о стране.
message CountryResponse {
  string alfa_two = 1; //Двухбуквенный код страны.
  string alfa_three = 2; //Трехбуквенный код страны.
  string name = 3; //Наименование страны.
  string name_brief = 4; //Краткое наименование страны.
}

//Запрос на поиск инструментов.
message FindInstrumentRequest {
  string query = 1 [(google.api.field_behavior) = REQUIRED]; //Строка поиска.
  optional InstrumentType instrument_kind = 2; //Фильтр по типу инструмента.
  optional bool api_trade_available_flag = 3; //Фильтр для отображения только торговых инструментов.
}

//Результат поиска инструментов.
message FindInstrumentResponse {
  repeated InstrumentShort instruments = 1; //Массив инструментов, удовлетворяющих условиям поиска.
}

//Краткая информация об инструменте.
message InstrumentShort {
  string isin = 1; //ISIN инструмента.
  string figi = 2; //FIGI инструмента.
  string ticker = 3; //Ticker инструмента.
  string class_code = 4; //ClassCode инструмента.
  string instrument_type = 5; //Тип инструмента.
  string name = 6; //Название инструмента.
  string uid = 7; //Уникальный идентификатор инструмента.
  string position_uid = 8; //Уникальный идентификатор позиции инструмента.
  InstrumentType instrument_kind = 10; //Тип инструмента.
  bool api_trade_available_flag = 11; //Возможность торговать инструментом через API.
  bool for_iis_flag = 12; //Признак доступности для ИИС.
  google.protobuf.Timestamp first_1min_candle_date = 26; //Дата первой минутной свечи.
  google.protobuf.Timestamp first_1day_candle_date = 27; //Дата первой дневной свечи.
  bool for_qual_investor_flag = 28; //Флаг, отображающий доступность торговли инструментом только для квалифицированных инвесторов.
  bool weekend_flag = 29; //Флаг, отображающий доступность торговли инструментом по выходным.
  bool blocked_tca_flag = 30; //Флаг заблокированного ТКС.
  int32 lot = 31; //Количество бумаг в лоте.
}

//Запрос списка брендов.
message GetBrandsRequest {
  Page paging = 1; //Настройки пагинации.
}

//Запрос бренда.
message GetBrandRequest {
  string id = 1 [(google.api.field_behavior) = REQUIRED]; //UID-идентификатор бренда.
}

//Список брендов.
message GetBrandsResponse {
  repeated Brand brands = 1; //Массив брендов.
  PageResponse paging = 2; //Данные по пагинации.
}

//Запрос фундаментальных показателей
message GetAssetFundamentalsRequest {
  repeated string assets = 1 [(google.api.field_behavior) = REQUIRED]; //Массив идентификаторов активов, не более 100 шт.
}

//Фундаментальные показатели
message GetAssetFundamentalsResponse {
  repeated StatisticResponse fundamentals = 1;

  //Фундаментальные показатели по активу
  message StatisticResponse {
    string asset_uid = 1; //Идентификатор актива.
    string currency = 2; //Валюта.
    double market_capitalization = 3; //Рыночная капитализация.
    double high_price_last_52_weeks = 4; //Максимум за год.
    double low_price_last_52_weeks = 5; //Минимум за год.
    double average_daily_volume_last_10_days = 6; //Средний объем торгов за 10 дней.
    double average_daily_volume_last_4_weeks = 7; //Средний объем торгов за месяц.
    double beta = 8;
    double free_float = 9; //Доля акций в свободном обращении.
    double forward_annual_dividend_yield = 10; //Процент форвардной дивидендной доходности по отношению к цене акций.
    double shares_outstanding = 11; //Количество акций в обращении.
    double revenue_ttm = 12; //Выручка.
    double ebitda_ttm = 13; //EBITDA — прибыль до вычета процентов, налогов, износа и амортизации.
    double net_income_ttm = 14; //Чистая прибыль.
    double eps_ttm = 15; //EPS — величина чистой прибыли компании, которая приходится на каждую обыкновенную акцию.
    double diluted_eps_ttm = 16; //EPS компании с допущением, что все конвертируемые ценные бумаги компании были сконвертированы в обыкновенные акции.
    double free_cash_flow_ttm = 17; //Свободный денежный поток.
    double five_year_annual_revenue_growth_rate = 18; //Среднегодовой  рocт выручки за 5 лет.
    double three_year_annual_revenue_growth_rate = 19; //Среднегодовой  рocт выручки за 3 года.
    double pe_ratio_ttm = 20; //Соотношение рыночной капитализации компании к ее чистой прибыли.
    double price_to_sales_ttm = 21; //Соотношение рыночной капитализации компании к ее выручке.
    double price_to_book_ttm = 22; //Соотношение рыночной капитализации компании к ее балансовой стоимости.
    double price_to_free_cash_flow_ttm = 23; //Соотношение рыночной капитализации компании к ее свободному денежному потоку.
    double total_enterprise_value_mrq = 24; //Рыночная стоимость компании.
    double ev_to_ebitda_mrq = 25; //Соотношение EV и EBITDA.
    double net_margin_mrq = 26; //Маржа чистой прибыли.
    double net_interest_margin_mrq = 27; //Рентабельность чистой прибыли.
    double roe = 28; //Рентабельность собственного капитала.
    double roa = 29; //Рентабельность активов.
    double roic = 30; //Рентабельность активов.
    double total_debt_mrq = 31; //Сумма краткосрочных и долгосрочных обязательств компании.
    double total_debt_to_equity_mrq = 32; //Соотношение долга к собственному капиталу.
    double total_debt_to_ebitda_mrq = 33; //Total Debt/EBITDA.
    double free_cash_flow_to_price = 34; //Отношение свободногоо кэша к стоимости.
    double net_debt_to_ebitda = 35; //Отношение чистого долга к EBITDA.
    double current_ratio_mrq = 36; //Коэффициент текущей ликвидности.
    double fixed_charge_coverage_ratio_fy = 37; //Коэффициент покрытия фиксированных платежей — FCCR.
    double dividend_yield_daily_ttm = 38; //Дивидендная доходность за 12 месяцев.
    double dividend_rate_ttm = 39; //Выплаченные дивиденды за 12 месяцев.
    double dividends_per_share = 40; //Значение дивидендов на акцию.
    double five_years_average_dividend_yield = 41; //Средняя дивидендная доходность за 5 лет.
    double five_year_annual_dividend_growth_rate = 42; //Среднегодовой рост дивидендов за 5 лет.
    double dividend_payout_ratio_fy = 43; //Процент чистой прибыли, уходящий на выплату дивидендов.
    double buy_back_ttm = 44; //Деньги, потраченные на обратный выкуп акций.
    double one_year_annual_revenue_growth_rate = 45; //Рост выручки за 1 год.
    string domicile_indicator_code = 46; //Код страны.
    double adr_to_common_share_ratio = 47; //Соотношение депозитарной расписки к акциям.
    double number_of_employees = 48; //Количество сотрудников.
    google.protobuf.Timestamp ex_dividend_date = 49;
    google.protobuf.Timestamp fiscal_period_start_date = 50; //Начало фискального периода.
    google.protobuf.Timestamp fiscal_period_end_date = 51; //Окончание фискального периода.
    double revenue_change_five_years = 53; //Изменение общего дохода за 5 лет.
    double eps_change_five_years = 54; //Изменение EPS за 5 лет.
    double ebitda_change_five_years = 55; //Изменение EBIDTA за 5 лет.
    double total_debt_change_five_years = 56; //Изменение общей задолжности за 5 лет.
    double ev_to_sales = 57; //Отношение EV к выручке.
  }

}

//Запрос отчетов эмитентов
message GetAssetReportsRequest {
  string instrument_id = 1 [(google.api.field_behavior) = REQUIRED]; //Идентификатор инструмента в формате UID.
  optional google.protobuf.Timestamp from = 2; //Начало запрашиваемого периода по UTC.
  optional google.protobuf.Timestamp to = 3; //Окончание запрашиваемого периода по UTC.
}

//Отчеты эмитентов
message GetAssetReportsResponse {
  repeated GetAssetReportsEvent events = 1; // Массив событий по облигации.

  //Отчет
  message GetAssetReportsEvent {
    string instrument_id = 1;  // Идентификатор инструмента.
    google.protobuf.Timestamp report_date = 2; // Дата публикации отчета.
    int32 period_year = 3; // Год периода отчета.
    int32 period_num = 4; // Номер периода.
    AssetReportPeriodType period_type = 5; // Тип отчета.
    google.protobuf.Timestamp created_at = 6; // Дата создания записи.
  }

  enum AssetReportPeriodType {
    PERIOD_TYPE_UNSPECIFIED = 0; // Не указан.
    PERIOD_TYPE_QUARTER = 1; // Квартальный.
    PERIOD_TYPE_SEMIANNUAL = 2; // Полугодовой.
    PERIOD_TYPE_ANNUAL = 3; // Годовой.
  }
}

//Запрос консенсус-прогнозов
message GetConsensusForecastsRequest {
  optional Page paging = 1; //Настройки пагинации.
}

//Консенсус-прогнозы
message GetConsensusForecastsResponse {
  repeated ConsensusForecastsItem items = 1; // Массив прогнозов.
  PageResponse page = 2; //Данные по пагинации.

  //Прогноз
  message ConsensusForecastsItem {
    string uid = 1; // UID-идентификатор.
    string asset_uid = 2; // UID-идентификатор актива.
    google.protobuf.Timestamp  created_at = 3; // Дата и время создания записи.
    Quotation best_target_price = 4; // Целевая цена на 12 месяцев.
    Quotation best_target_low = 5; // Минимальная прогнозная цена.
    Quotation best_target_high = 6; // Максимальная прогнозная цена.
    int32 total_buy_recommend = 7; // Количество аналитиков рекомендующих покупать.
    int32 total_hold_recommend = 8;  // Количество аналитиков рекомендующих держать.
    int32 total_sell_recommend = 9; // Количество аналитиков рекомендующих продавать.
    string currency = 10; // Валюта прогнозов инструмента.
    Recommendation consensus = 11; // Консенсус-прогноз.
    google.protobuf.Timestamp prognosis_date = 12; // Дата прогноза.
  }

}

enum Recommendation {
  RECOMMENDATION_UNSPECIFIED = 0; // Не определено.
  RECOMMENDATION_BUY = 1; // Покупать.
  RECOMMENDATION_HOLD = 2; // Держать.
  RECOMMENDATION_SELL = 3; // Продавать.
}

//Запрос прогнозов инвестдомов.
message GetForecastRequest {
  string instrument_id = 1;  // Идентификатор инструмента.
}

//Прогнозы инвестдомов по инструменту.
message GetForecastResponse {
  repeated TargetItem targets = 1; //Массив прогнозов.
  ConsensusItem consensus = 2; // Согласованный прогноз.

  //Прогноз
  message TargetItem {
    string uid = 1; // Уникальный идентификатор инструмента.
    string ticker = 2; // Тикер инструмента.
    string company = 3; // Название компании, давшей прогноз.
    Recommendation recommendation = 4; // Прогноз.
    google.protobuf.Timestamp recommendation_date = 5; //Дата прогноза.
    string currency = 6; // Валюта.
    Quotation current_price = 7; // Текущая цена.
    Quotation target_price = 8; // Прогнозируемая цена.
    Quotation price_change = 9; // Изменение цены.
    Quotation price_change_rel = 10; // Относительное изменение цены.
    string show_name = 11; // Наименование инструмента.
  }

  //Консенсус-прогноз.
  message ConsensusItem {
    string uid = 1; // Уникальный идентификатор инструмента.
    string ticker = 2; // Тикер инструмента.
    Recommendation recommendation = 3; // Прогноз.
    string currency = 4; // Валюта.
    Quotation current_price = 5; // Текущая цена.
    Quotation consensus = 6; // Прогнозируемая цена.
    Quotation min_target = 7; // Минимальная цена прогноза.
    Quotation max_target = 8; // Максимальная цена прогноза.
    Quotation price_change = 9; // Изменение цены.
    Quotation price_change_rel = 10; // Относительное изменение цены.
  }
}

message RiskRatesRequest {
  repeated string instrument_id = 1;  // Идентификаторы инструментов.
}

message RiskRatesResponse {
  repeated RiskRateResult instrument_risk_rates = 1;

  message RiskRateResult {
    string instrument_uid = 1;
    optional RiskRate short_risk_rate = 2; // Ставка риска пользователя  в шорт
    optional RiskRate long_risk_rate = 3; // Ставка риска пользователя в лонг
    repeated RiskRate short_risk_rates = 5; //Доступные ставки риска в шорт
    repeated RiskRate long_risk_rates = 6; //Доступные ставки риска в лонг
    optional string error = 9; // Ошибка.
  }
  message RiskRate {
    string risk_level_code = 2; // Категория риска.
    Quotation value = 5; // Значение ставки риска.
  }
}

message TradingInterval {
  string type = 1; //Название интервала.
  TimeInterval interval = 2; //Интервал.

  message TimeInterval {
    google.protobuf.Timestamp start_ts = 1; // Время начала интервала.
    google.protobuf.Timestamp end_ts = 2; // Время окончания интервала.
  }
}

//Уровень риска облигации.
enum RiskLevel {
  RISK_LEVEL_UNSPECIFIED = 0; //Не указан.
  RISK_LEVEL_LOW = 1; //Низкий уровень риска.
  RISK_LEVEL_MODERATE = 2; //Средний уровень риска.
  RISK_LEVEL_HIGH = 3; //Высокий уровень риска.
}

enum BondType {
  BOND_TYPE_UNSPECIFIED = 0; // Тип облигации не определен.
  BOND_TYPE_REPLACED = 1; // Замещающая облигация.
}

// Площадка торговли.
enum InstrumentExchangeType {
  INSTRUMENT_EXCHANGE_UNSPECIFIED = 0; // Площадка торговли не определена.
  INSTRUMENT_EXCHANGE_DEALER = 1; // Бумага, торгуемая у дилера.
}