avin_connect 0.2.6

Open source cross-platform trading system
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
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";


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 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 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 GetCountries (GetCountriesRequest) returns (GetCountriesResponse);

  //Метод поиска инструмента.
  rpc FindInstrument (FindInstrumentRequest) returns (FindInstrumentResponse);

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

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

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

//Запрос получения инструмента по идентификатору.
message InstrumentRequest {
  InstrumentIdType id_type = 1; // Тип идентификатора инструмента. Возможные значения: figi, ticker. Подробнее об идентификации инструментов: [Идентификация инструментов](https://tinkoff.github.io/investAPI/faq_identification/)
  string class_code = 2; // Идентификатор class_code. Обязателен при id_type = ticker.
  string id = 3; // Идентификатор запрашиваемого инструмента.
}

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

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

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

//Запрос купонов по облигации.
message GetBondCouponsRequest {
  string figi = 1; //Figi-идентификатор инструмента.
  google.protobuf.Timestamp from = 2; //Начало запрашиваемого периода в часовом поясе UTC. Фильтрация по coupon_date (дата выплаты купона)
  google.protobuf.Timestamp to = 3; //Окончание запрашиваемого периода в часовом поясе UTC. Фильтрация по coupon_date (дата выплаты купона)
}

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

//Объект передачи информации о купоне облигации.
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; //Реальная площадка исполнения расчётов (биржа). Допустимые значения: [REAL_EXCHANGE_MOEX, REAL_EXCHANGE_RTS]
  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; //Сектор экономики.

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

  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; //Признак внебиржевой ценной бумаги.
  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*. Подробнее: [лот](https://tinkoff.github.io/investAPI/glossary#lot)
  string currency = 6; //Валюта расчётов.

  Quotation klong = 7; //Коэффициент ставки риска длинной позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР). 1 – клиент с повышенным уровнем риска (КПУР)
  Quotation kshort = 8; //Коэффициент ставки риска короткой позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР). 1 – клиент с повышенным уровнем риска (КПУР)
  Quotation dlong = 9; //Ставка риска начальной маржи для КСУР лонг. Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/)
  Quotation dshort = 10; //Ставка риска начальной маржи для КСУР шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/)
  Quotation dlong_min = 11; // Ставка риска начальной маржи для КПУР лонг. Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/)
  Quotation dshort_min = 12; //Ставка риска начальной маржи для КПУР шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/)
  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; //Признак внебиржевой ценной бумаги.
  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; //Уникальный идентификатор позиции инструмента.

  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; //Уровень риска.
}

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

  Quotation klong = 7; //Коэффициент ставки риска длинной позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР). 1 – клиент с повышенным уровнем риска (КПУР)
  Quotation kshort = 8; //Коэффициент ставки риска короткой позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР). 1 – клиент с повышенным уровнем риска (КПУР)
  Quotation dlong = 9; //Ставка риска начальной маржи для КСУР лонг.Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/)
  Quotation dshort = 10; //Ставка риска начальной маржи для КСУР шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/)
  Quotation dlong_min = 11; //Ставка риска начальной маржи для КПУР лонг. Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/)
  Quotation dshort_min = 12; //Ставка риска начальной маржи для КПУР шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/)
  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; //Признак внебиржевой ценной бумаги.
  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; //Дата первой дневной свечи.
}

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

  Quotation klong = 7; //Коэффициент ставки риска длинной позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР). 1 – клиент с повышенным уровнем риска (КПУР)
  Quotation kshort = 8; //Коэффициент ставки риска короткой позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР). 1 – клиент с повышенным уровнем риска (КПУР)
  Quotation dlong = 9; //Ставка риска начальной маржи для КСУР лонг.Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/)
  Quotation dshort = 10; //Ставка риска начальной маржи для КСУР шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/)
  Quotation dlong_min = 11; //Ставка риска начальной маржи для КПУР лонг. Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/)
  Quotation dshort_min = 12; //Ставка риска начальной маржи для КПУР шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/)
  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; //Признак внебиржевой ценной бумаги.
  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; //Уникальный идентификатор позиции инструмента.

  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; //Дата первой дневной свечи.
}

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

  Quotation klong = 6; //Коэффициент ставки риска длинной позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР). 1 – клиент с повышенным уровнем риска (КПУР)
  Quotation kshort = 7; //Коэффициент ставки риска короткой позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР). 1 – клиент с повышенным уровнем риска (КПУР)
  Quotation dlong = 8; //Ставка риска начальной маржи для КСУР лонг.Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/)
  Quotation dshort = 9; //Ставка риска начальной маржи для КСУР шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/)
  Quotation dlong_min = 10; //Ставка риска начальной маржи для КПУР лонг. Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/)
  Quotation dshort_min = 11; //Ставка риска начальной маржи для КПУР шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/)
  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; //Признак внебиржевой ценной бумаги.
  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; //Дата первой дневной свечи.
}

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

  Quotation klong = 7; //Коэффициент ставки риска длинной позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР). 1 – клиент с повышенным уровнем риска (КПУР)
  Quotation kshort = 8; //Коэффициент ставки риска короткой позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР). 1 – клиент с повышенным уровнем риска (КПУР)
  Quotation dlong = 9; //Ставка риска начальной маржи для КСУР лонг.Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/)
  Quotation dshort = 10; //Ставка риска начальной маржи для КСУР шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/)
  Quotation dlong_min = 11; //Ставка риска начальной маржи для КПУР лонг. Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/)
  Quotation dshort_min = 12; //Ставка риска начальной маржи для КПУР шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/)
  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; //Признак внебиржевой ценной бумаги.
  bool buy_available_flag = 27; //Признак доступности для покупки.
  bool sell_available_flag = 28; //Признак доступности для продажи.
  bool div_yield_flag = 29; //Признак наличия дивидендной доходности.
  ShareType share_type = 30; //Тип акции. Возможные значения: [ShareType](https://tinkoff.github.io/investAPI/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; //Уникальный идентификатор позиции инструмента.

  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; //Дата первой дневной свечи.
}

//Запрос НКД по облигации
message GetAccruedInterestsRequest {
  string figi = 1; //Figi-идентификатор инструмента.
  google.protobuf.Timestamp from = 2; //Начало запрашиваемого периода в часовом поясе UTC.
  google.protobuf.Timestamp to = 3; //Окончание запрашиваемого периода в часовом поясе UTC.
}

//НКД облигации
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; // Идентификатор инструмента.
}

//Данные по фьючерсу
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; //Стоимость шага цены.
}

//Тип идентификатора инструмента. Подробнее об идентификации инструментов: [Идентификация инструментов](https://tinkoff.github.io/investAPI/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; //Идентификатор позиции.
}

//Статус запрашиваемых инструментов.
enum InstrumentStatus {
  INSTRUMENT_STATUS_UNSPECIFIED = 0; //Значение не определено.
  INSTRUMENT_STATUS_BASE = 1; //Базовый список инструментов (по умолчанию). Инструменты доступные для торговли через TINKOFF INVEST API. Cейчас списки бумаг, доступных из api и других интерфейсах совпадают (за исключением внебиржевых бумаг), но в будущем возможны ситуации, когда списки инструментов будут отличаться
  INSTRUMENT_STATUS_ALL = 2; //Список всех инструментов.
}

//Данные по инструменту.
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*. Подробнее: [лот](https://tinkoff.github.io/investAPI/glossary#lot)
  string currency = 6; //Валюта расчётов.

  Quotation klong = 7; //Коэффициент ставки риска длинной позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР). 1 – клиент с повышенным уровнем риска (КПУР)
  Quotation kshort = 8; //Коэффициент ставки риска короткой позиции по клиенту. 2 – клиент со стандартным уровнем риска (КСУР). 1 – клиент с повышенным уровнем риска (КПУР)
  Quotation dlong = 9; //ССтавка риска начальной маржи для КСУР лонг.Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/)
  Quotation dshort = 10; //Ставка риска начальной маржи для КСУР шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/)
  Quotation dlong_min = 11; //Ставка риска начальной маржи для КПУР лонг. Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/)
  Quotation dshort_min = 12; //Ставка риска начальной маржи для КПУР шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/)
  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; //Признак внебиржевой ценной бумаги.
  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; //Уникальный идентификатор позиции инструмента.

  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; //Дата первой дневной свечи.
}

//Запрос дивидендов.
message GetDividendsRequest {
  string figi = 1; //Figi-идентификатор инструмента.
  google.protobuf.Timestamp from = 2; //Начало запрашиваемого периода в часовом поясе UTC. Фильтрация происходит по параметру *record_date* (дата фиксации реестра).
  google.protobuf.Timestamp to = 3; //Окончание запрашиваемого периода в часовом поясе UTC. Фильтрация происходит по параметру *record_date* (дата фиксации реестра).
}

//Дивиденды.
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; //uid-идентификатор актива.
}

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

//Запрос списка активов.
message AssetsRequest {
  InstrumentType instrument_type = 1;
}

//Список активов.
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 {
}

//В ответ передаётся список избранных инструментов в качестве массива.
message GetFavoritesResponse {
  repeated FavoriteInstrument favorite_instruments = 1; //Массив инструментов
}

//Массив избранных инструментов.
message FavoriteInstrument {
  string figi = 1; //Figi-идентификатор инструмента.
  string ticker = 2;  //Тикер инструмента.
  string class_code = 3; //Класс-код инструмента.
  string isin = 4; //Isin-идентификатор инструмента.
  string instrument_type = 11; //Тип инструмента.
  bool otc_flag = 16; //Признак внебиржевой ценной бумаги.
  bool api_trade_available_flag = 17; //Параметр указывает на возможность торговать инструментом через API.
  InstrumentType instrument_kind	= 18; //Тип инструмента.
}

//Запрос редактирования списка избранных инструментов.
message EditFavoritesRequest {
  repeated EditFavoritesRequestInstrument instruments = 1; //Массив инструментов.
  EditFavoritesActionType action_type = 6; //Тип действия со списком.
}

//Массив инструментов для редактирования списка избранных инструментов.
message EditFavoritesRequestInstrument {
  string figi = 1; //Figi-идентификатор инструмента.
}

//Тип действия со списком избранных инструментов.
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; //Массив инструментов
}

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

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

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

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

//Запрос на поиск инструментов.
message FindInstrumentRequest {
  string query = 1; //Строка поиска.
  InstrumentType instrument_kind = 2; //Фильтр по типу инструмента.
  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; //Флаг заблокированного ТКС
}

//Запрос списка брендов.
message GetBrandsRequest {}

//Запрос бренда.
message GetBrandRequest {
  string id = 1; //Uid-идентификатор бренда.
}

//Список брендов.
message GetBrandsResponse {
  repeated Brand brands = 1; //Массив брендов.
}

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