Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wiseplat
GitHub Repository: wiseplat/python-code
Path: blob/master/ invest-robot-contest_sirius-master/api_calls/get_info.py
5932 views
1
import logging
2
3
from api_calls.common_requests import make_api_request
4
from utils.datetime_utils import date_to_str
5
6
service_path = 'tinkoff.public.invest.api.contract.v1.InstrumentsService/'
7
market_path = 'tinkoff.public.invest.api.contract.v1.MarketDataService/'
8
9
10
def get_shares():
11
res = make_api_request(service_path + 'Shares')
12
logging.debug("Get shares done")
13
return res
14
15
16
# get_share_by_ticker("SPBXM", "AMZN")
17
# get_share_by_ticker("TQBR", "SBER")
18
def get_share_by_ticker(class_code, ticker):
19
res = make_api_request(service_path + 'ShareBy',
20
dict(idType="INSTRUMENT_ID_TYPE_TICKER", classCode=class_code, id=ticker))
21
logging.debug("Get info for stock = {}, ticker = {}".format(class_code, ticker))
22
return res
23
24
25
# intervals
26
# [ CANDLE_INTERVAL_UNSPECIFIED, CANDLE_INTERVAL_1_MIN, CANDLE_INTERVAL_5_MIN, CANDLE_INTERVAL_15_MIN,
27
# CANDLE_INTERVAL_HOUR, CANDLE_INTERVAL_DAY ]
28
def get_candles_by_figi(figi, from_datetime, to_datetime, interval):
29
res = make_api_request(market_path + 'GetCandles',
30
{'figi': figi,
31
'from': date_to_str(from_datetime),
32
'to': date_to_str(to_datetime),
33
'interval': interval})
34
logging.debug("Get candles done")
35
return res
36
37
# Запрошенный интервал свечей Допустимый период запроса
38
# CANDLE_INTERVAL_1_MIN от 1 минут до 1 дня
39
# CANDLE_INTERVAL_5_MIN от 5 минут до 1 дня
40
# CANDLE_INTERVAL_15_MIN от 15 минут до 1 дня
41
# CANDLE_INTERVAL_HOUR от 1 часа до 1 недели
42
# CANDLE_INTERVAL_DAY от 1 дня до 1 года
43
44