Запуск цикла for для отдельного символа тикера и извлечение исторических клинов для каждого символа - PullRequest
0 голосов
/ 02 июля 2019

Я хочу запустить функцию для каждого символа тикера, которая есть в #binance exchange, и извлечь исторические данные клин для некоторого анализа.

В настоящее время я абсолютный нуб в Python, поэтому мне нужна помощь здесь.

Мой код выглядит следующим образом:

from binance.client import Client
import personal
import pandas as pd
import time
import datetime   # for dealing with times
from pymongo import MongoClient
import json

client = Client(personal.api_key,personal.api_secret)

#getting all the listed currencies 
tickers = client.get_ticker()
dtickers = pd.DataFrame(tickers)
dtickers.columns
dtickers['symbol']
dtickers.symbol

for x in range(len(dtickers.symbol)):
    def kline():

       klines['symbol'] = client.get_historical_klines(
           symbol='symbol', 
           interval='1h', 
           start_str='1556409600', 
           end_str='1561731894', 
           limit=1000
       )


       dfklines['symbol'] = pd.DataFrame(klines['symbol'])

       dfklines['symbol'].columns = ['open_time',
                 'o', 'h', 'l', 'c', 'v',
                 'close_time', 'qav', 'num_trades',
                 'taker_base_vol', 'taker_quote_vol', 'ignore']

       dfklines['symbol'] =  dfklines['symbol'].drop("ignore",axis=1)

       dfklines['symbol']['open_time'] = pd.to_datetime( dfklines['symbol']['open_time'], unit='ms')

       x += 1
       print (dfklines['symbol'].iloc[x])

if __name__ == "__main__":
    kline()

Я ожидаю, что отдельный кадр данных символа будет сохранен как dfklines[ETHUSDT], dfklines[BTUSDT],

Понятия не имею, куда я иду не так? Это функция или какие-то проблемы с синтаксисом?

В настоящее время выдается это исключение:

BinanceAPIException: APIError(code=-1100): Illegal characters found in parameter 'symbol'; legal range is '^[A-Z0-9_]{1,20}$'.
...