INNER CODE UNIT · Python
get_candles
WISEPLAT/Hackathon-Finam-NN-Trade-Robot · 1_get_historical_data_for_strategy_from_moex.py:22
async def get_candles(session, ticker, timeframes, start, end):
"""Функция получения свечей с MOEX."""
for timeframe in timeframes:
tf = functions.get_timeframe_moex(timeframe)
data = await aiomoex.get_market_candles(session, ticker, interval=tf, start=start, end=end) # M10
df = pd.DataFrame(data)
df['datetime'] = pd.to_datetime(df['begin'], format='%Y-%m-%d %H:%M:%S')
# для M1, M10, H1 - приводим дату свечи в правильный вид
if tf in [1, 10, 60]:
df['datetime'] = df['datetime'].apply(lambda x: x + timedelta(minutes=tf))
df = df[["datetime", "open", "high", "low", "close", "volume"]].copy()
df.to_csv(os.path.join("csv", f"{ticker}_{timeframe}.csv"), index=False, encoding='utf-8', sep=',')
print(f"{ticker} {tf}:")
print(df)
async def get_all_historical_candles(portfolio, timeframes, start, end):
"""Запуск асинхронной задачи получения исторических данных для каждого тикера из портфеля."""