kucoinAPIでOHLCVデータをダウンロードする
kucoin-python sdkをインストール
pip install kucoin-python
kucoinAPIドキュメントを見る
klineを取得する方法
例
GET /api/v1/market/candles?type=1min&symbol=BTC-USDT&startAt=1566703297&endAt=1566789757 最大で1500個しか取れないので、それ以上の場合は複数回に分けて問い合わせる必要がある。
実際にダウンロードしてみる
import pandas as pd from kucoin.client import Market from datetime import datetime client = Market(url='https://api.kucoin.com') # client = Market() # or connect to Sandbox # client = Market(url='https://openapi-sandbox.kucoin.com') # client = Market(is_sandbox=True) # set start, end now = datetime.utcnow() start = pd.to_datetime('2019-04-01 00:00:00.000', format='%Y-%m-%d %H:%M:%S.%f') end = pd.to_datetime('2021-04-01 00:00:00.000', format='%Y-%m-%d %H:%M:%S.%f') # datetime to unixtime since = int(start.timestamp()) limit = int(end.timestamp()) now = int(now.timestamp()) # get symbol kline klines = client.get_kline('XTZ-USDT','1day', startAt=since, endAt=now) df1 = pd.DataFrame(klines, columns =['time', 'open', 'close', 'high', 'low', 'value', 'turnover']) # 行削除, time列の表示をunixtime to datetime, インデックスをtimeにする df1 = df1.drop('turnover', axis=1) df1['time'] = pd.to_datetime(df1['time'], unit='s', utc=True) df1 = df1.set_index('time') display(df1) #df.to_pickle('XTZ_USDT_1day_ohlcv.pkl') #df.to_csv('XTZ_USDT_1day_ohlcv.csv')