BTC/USDTの過去のろうそく足のcsvデータ置き場(2018-2019)
binanceのapiを使ってろうそく足データをダウンロードしました。
かなり過去まで遡ってろうそく足データを取れるので便利ですね。
2018/01/01~2019/12/31までの過去ろうそく足のcsvデータを置いておきます。
バックテストにどうぞ。
データが間違ってても当方は責任を負いません。
1日足
4時間足
1時間足
15分足
データ取得に使ったpythonコード
import ccxt
import pandas as pd
import matplotlib.pyplot as plt
import datetime
from time import sleep
# 一度にとれるろうそく足は500本までなので、分けて取得する
def get_past_data_from_server(exchange,data_n,data_m,bar,barsymbol,symbol):
pastdata = pd.DataFrame([])
# 一度のAPIコールでとれるろうそく足は500本までなので、分けて取得する
# 過去データの取得
for i in range(0, data_m):
sleep(0.001)
data = get_past_data(exchange,data_n * (data_m - i),bar,barsymbol,symbol)
data.index = list(range(len(pastdata), len(pastdata) + len(data)))
pastdata = pd.concat([pastdata, data])
return pastdata
def get_past_data(exchange,period,bar,barsymbol,symbol):
while(True):
try:
timest = exchange.fetch_ticker(symbol)['timestamp']
period += 1
timest = timest - period*bar*60*1000
candles = exchange.fetch_ohlcv(symbol, timeframe=barsymbol, since=timest)
pd_candles = pd.DataFrame(candles)
break
except Exception as e:
print(e)
print("データの取得に失敗しました")
sleep(5)
continue
return pd_candles
# 取引所binanceを指定
exchange = ccxt.binance ()
# 通貨ペアの設定
symbol = "BTC/USDT"
# 何分足?
bar = 60
barsymbol = '1h'
# data_n*data_m本のろうそく足を取得
# data_nはbinanceでは500に固定
data_n = 500
data_m=80
data = get_past_data_from_server(exchange,data_n,data_m,bar,barsymbol,symbol)
# unixtime(ミリ秒)を日時に変換
for i in range(0,len(data)):
data[0][i]= datetime.datetime.fromtimestamp(data[0][i]/1000)
plt.plot(data[4])
plt.show()
data.to_csv("binance_btc_usdt_1h.csv", header=False, index=False)
ろうそく足データの取得にはccxtライブラリを使いました。ccxtライブラリを使うと、複数の取引所のapiを共通の関数で呼べるので便利です。
この記事が気に入ったらサポートをしてみませんか?