Skip to content

Commit

Permalink
Deployed b454719 with MkDocs version: 1.5.1
Browse files Browse the repository at this point in the history
  • Loading branch information
k773bt committed Jul 31, 2023
1 parent d4d6c72 commit bb166be
Show file tree
Hide file tree
Showing 14 changed files with 3,058 additions and 128 deletions.
Empty file added cd
Empty file.
2 changes: 1 addition & 1 deletion common/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1609,7 +1609,7 @@ <h4 id="moneyvalue">MoneyValue</h4>
</tbody>
</table>
<h4 id="quotation">Quotation</h4>
<p>Котировка денежная сумма без указания валюты.</p>
<p>Котировка - денежная сумма без указания валюты</p>
<table>
<thead>
<tr>
Expand Down
71 changes: 71 additions & 0 deletions contracts/instruments.proto
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,9 @@ service InstrumentsService {/*Сервис предназначен для по

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

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

//Запрос расписания торгов.
Expand Down Expand Up @@ -1055,6 +1058,74 @@ message GetBrandsResponse {
repeated Brand brands = 1; //Массив брендов.
}

message GetAssetFundamentalsRequest {
repeated string assets = 1; //Массив идентификаторов активов.
}

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; //Изменение ebitda за 5 лет
double total_debt_change_five_years = 56; //Изменение общей задолжности за 5 лет
double ev_to_sales = 57; //Отношение EV к выручке
}

}

//Уровень риска облигации.
enum RiskLevel {
RISK_LEVEL_HIGH = 0; //Высокий уровень риска
Expand Down
3 changes: 3 additions & 0 deletions contracts/marketdata.proto
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ message CandleSubscription {
SubscriptionInterval interval = 2; //Интервал свечей.
SubscriptionStatus subscription_status = 3; //Статус подписки.
string instrument_uid = 4; //Uid инструмента
bool waiting_close = 5; //Флаг ожидания закрытия временного интервала для отправки свечи
}

//Результат подписки.
Expand All @@ -134,6 +135,7 @@ enum SubscriptionStatus {
SUBSCRIPTION_STATUS_LIMIT_IS_EXCEEDED = 6; //Превышен лимит на общее количество подписок в рамках стрима, подробнее: [Лимитная политика](https://tinkoff.github.io/investAPI/limits/).
SUBSCRIPTION_STATUS_INTERNAL_ERROR = 7; //Внутренняя ошибка сервиса.
SUBSCRIPTION_STATUS_TOO_MANY_REQUESTS = 8; //Превышен лимит на количество запросов на подписки в течение установленного отрезка времени
SUBSCRIPTION_STATUS_SUBSCRIPTION_NOT_FOUND = 9; // Активная подписка не найдена. Ошибка может возникнуть только при отписке от не существующей отписки
}

//Запрос на изменение статуса подписки на стаканы.
Expand Down Expand Up @@ -445,5 +447,6 @@ message InstrumentClosePriceResponse {
string figi = 1; //Figi инструмента.
string instrument_uid = 2; //Uid инструмента.
Quotation price = 11; //Цена закрытия торговой сессии.
Quotation evening_session_price = 12; //Цена последней сделки с вечерней сессии
google.protobuf.Timestamp time = 21; //Дата совершения торгов.
}
38 changes: 38 additions & 0 deletions contracts/orders.proto
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ service OrdersService {/* Сервис предназначен для рабо

//Метод изменения выставленной заявки.
rpc ReplaceOrder(ReplaceOrderRequest) returns (PostOrderResponse);

//расчет количества доступных для покупки/продажи лотов
rpc GetMaxLots(GetMaxLotsRequest) returns (GetMaxLotsResponse);
}

//Запрос установки соединения.
Expand Down Expand Up @@ -78,6 +81,7 @@ message PostOrderRequest {
OrderType order_type = 6; //Тип заявки.
string order_id = 7; //Идентификатор запроса выставления поручения для целей идемпотентности в формате UID. Максимальная длина 36 символов.
string instrument_id = 8; //Идентификатор инструмента, принимает значения Figi или Instrument_uid.
TimeInForceType time_in_force = 9; //Алгоритм исполнения поручения
}

//Прочитайте про ключ идемпотентности [здесь](https://tinkoff.github.io/investAPI/head-orders/)
Expand All @@ -103,6 +107,7 @@ message PostOrderResponse {
string message = 15; //Дополнительные данные об исполнении заявки.
Quotation initial_order_price_pt = 16; //Начальная цена заявки в пунктах (для фьючерсов).
string instrument_uid = 17; //UID идентификатор инструмента.
string order_request_id = 20; //Идентификатор ключа идемпотентности, переданный клиентом, в формате UID. Максимальная длина 36 символов.
}

//Запрос отмены торгового поручения.
Expand Down Expand Up @@ -173,6 +178,32 @@ message ReplaceOrderRequest {
PriceType price_type = 13; //Тип цены.
}

//Запрос на расчет количества доступных для покупки/продажи лотов
message GetMaxLotsRequest {
string account_id = 1; //Номер счета
string instrument_id = 2; //Идентификатор инструмента, принимает значения Figi или instrument_uid
Quotation price = 3; //Цена инструмента
}

//Результат количество доступных для покупки/продажи лотов
message GetMaxLotsResponse {
string currency = 1; //Валюта инструмента
BuyLimitsView buy_limits = 2; //Лимиты для покупок на собственные деньги
BuyLimitsView buy_margin_limits = 3; //Лимиты для покупок с учетом маржинального кредитования
SellLimitsView sell_limits = 4; //Лимиты для продаж по собственной позиции
SellLimitsView sell_margin_limits = 5; //Лимиты для продаж с учетом маржинального кредитования

message BuyLimitsView {
Quotation buy_money_amount = 1; //Количество доступной валюты для покупки
int64 buy_max_lots = 2; //Максимальное доступное количество лотов для покупки
int64 buy_max_market_lots = 3; //Максимальное доступное количество лотов для покупки для заявки по рыночной цене на текущий момент
}

message SellLimitsView {
int64 sell_max_lots = 1; //Максимальное доступное количество лотов для продажи
}
}

//Направление операции.
enum OrderDirection {
ORDER_DIRECTION_UNSPECIFIED = 0; //Значение не указано
Expand Down Expand Up @@ -204,3 +235,10 @@ enum PriceType {
PRICE_TYPE_POINT = 1; //Цена в пунктах (только для фьючерсов и облигаций).
PRICE_TYPE_CURRENCY = 2; //Цена в валюте расчётов по инструменту.
}

enum TimeInForceType {
TIME_IN_FORCE_UNSPECIFIED = 0; //Значение не определено см. TIME_IN_FORCE_DAY
TIME_IN_FORCE_DAY = 1; //заявка действует до конца торгового дня. значение по умолчанию
TIME_IN_FORCE_FILL_AND_KILL = 2; //заявка исполнена(возможно частично) и уничтожена.
TIME_IN_FORCE_FILL_OR_KILL = 3; //заявка исполнения полностью или уничтожена
}
57 changes: 57 additions & 0 deletions contracts/signals.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
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";

service SignalService {
rpc GetStrategies(GetStrategiesRequest) returns (GetStrategiesResponse);

rpc GetSignals(GetSignalsRequest) returns (GetSignalsResponse);
}

message GetStrategiesRequest {
string strategy_id = 1; //Идентификатор стратегии
}

message GetStrategiesResponse {
repeated Strategy strategies = 1;
}

message Strategy {
string strategy_id = 1; // Идентификатор стратегии
string strategy_name = 2; // Название стратегии
string strategy_description = 3; // Описание стратегии
string strategy_url = 4; // Ссылка на страницу с описанием стратегии
}

message GetSignalsRequest {
string strategy_id = 1; // Идентификатор стратегии
google.protobuf.Timestamp from = 2; // Дата начала запрашиваемого интервала в часовом поясе UTC.
string instrument_uid = 3; // Идентификатор бумаги
google.protobuf.Timestamp to = 4; // Дата конца запрашиваемого интервала в часовом поясе UTC.
bool archive = 5; // Только архивные сигналы, по умолчанию false
}

message GetSignalsResponse {
repeated Signal signals = 1;
}

message Signal {
string signal_id = 1; // идентификатор сигнала
string strategy_id = 2; // Идентификатор стратегии
string instrument_uid = 3; // Идентификатор бумаги
google.protobuf.Timestamp create_dt = 4; // Датавремя создания сигнала в часовом поясе UTC.
int64 lifetime = 5; // Срок действия сигнала, секунд
string direction = 6; // "buy" / "sell"
float price = 7; // Цена бумаги на момент формирования сигнала
float profit = 8; // Расчетная прибыль сигнала
string info = 9; // Произвольная информация о сигнале
}
20 changes: 20 additions & 0 deletions errors/api_errors.json
Original file line number Diff line number Diff line change
Expand Up @@ -479,6 +479,26 @@
"type": "INVALID_ARGUMENT",
"description": "Некорректное значение *price_type*. Значением *price_type* может быть только **PRICE_TYPE_POINT** ИЛИ **PRICE_TYPE_CURRENCY**."
},
"30105": {
"message": "exchange_order_type is invalid",
"type": "INVALID_ARGUMENT",
"description": "Некорректное значение *exchange_order_type*. Значением *exchange_order_type* может быть только **LIMIT** ИЛИ **MARKET**."
},
"30106": {
"message": "status is invalid",
"type": "INVALID_ARGUMENT",
"description": "Некорректное значение *status*. Значением *status* может быть только **ACTIVE**, **EXCECUTED**, **CANCELED** И **EXPIRED**."
},
"30107": {
"message": "negative values are not allowed",
"type": "INVALID_ARGUMENT",
"description": "Некорректное значение *limit* и/или *page*. Параметры *limit* и *page* не могут принимать отицательные значения."
},
"30108": {
"message": "specify a lower limit or page value because there are fewer brands",
"type": "INVALID_ARGUMENT",
"description": "Количество брендов меньше запрашиваемых параметров."
},
"40002": {
"message": "insufficient privileges",
"type": "PERMISSION_DENIED",
Expand Down
Loading

0 comments on commit bb166be

Please sign in to comment.