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を共通の関数で呼べるので便利です。

この記事が気に入ったらサポートをしてみませんか?