Path: blob/master/ invest-robot-contest_sirius-master/api_calls/get_info.py
5932 views
import logging12from api_calls.common_requests import make_api_request3from utils.datetime_utils import date_to_str45service_path = 'tinkoff.public.invest.api.contract.v1.InstrumentsService/'6market_path = 'tinkoff.public.invest.api.contract.v1.MarketDataService/'789def get_shares():10res = make_api_request(service_path + 'Shares')11logging.debug("Get shares done")12return res131415# get_share_by_ticker("SPBXM", "AMZN")16# get_share_by_ticker("TQBR", "SBER")17def get_share_by_ticker(class_code, ticker):18res = make_api_request(service_path + 'ShareBy',19dict(idType="INSTRUMENT_ID_TYPE_TICKER", classCode=class_code, id=ticker))20logging.debug("Get info for stock = {}, ticker = {}".format(class_code, ticker))21return res222324# intervals25# [ CANDLE_INTERVAL_UNSPECIFIED, CANDLE_INTERVAL_1_MIN, CANDLE_INTERVAL_5_MIN, CANDLE_INTERVAL_15_MIN,26# CANDLE_INTERVAL_HOUR, CANDLE_INTERVAL_DAY ]27def get_candles_by_figi(figi, from_datetime, to_datetime, interval):28res = make_api_request(market_path + 'GetCandles',29{'figi': figi,30'from': date_to_str(from_datetime),31'to': date_to_str(to_datetime),32'interval': interval})33logging.debug("Get candles done")34return res3536# Запрошенный интервал свечей Допустимый период запроса37# CANDLE_INTERVAL_1_MIN от 1 минут до 1 дня38# CANDLE_INTERVAL_5_MIN от 5 минут до 1 дня39# CANDLE_INTERVAL_15_MIN от 15 минут до 1 дня40# CANDLE_INTERVAL_HOUR от 1 часа до 1 недели41# CANDLE_INTERVAL_DAY от 1 дня до 1 года424344